方法 XXX(String, String, Long) 将长度为 1 的常量字符串传递给字符覆盖方法
Method XXX(String, String, Long) passes constant String of length 1 to character overridden method
我有这个方法:
private String generateDocumentKey(String year, Long version) {
StringBuilder idKey = new StringBuilder("");
if (Objects.nonNull(version)) {
idKey.append(year);
idKey.append(VERSION);
}
return idKey.toString();
}
但 SonarQube 报告此错误:
Method XXX(String, String, Long) passes constant String of length 1 to character overridden method
行
idKey.append(VERSION);
这意味着常量 VERSION
当前长度为 1 个字符,其类型 可以 更改为 char
以提高效率。
从长远来看没有意义(版本号在未来的版本中会越来越长),但 SonarQube 只是一个愚蠢的工具,你总是要自己判断它的建议。
我有这个方法:
private String generateDocumentKey(String year, Long version) {
StringBuilder idKey = new StringBuilder("");
if (Objects.nonNull(version)) {
idKey.append(year);
idKey.append(VERSION);
}
return idKey.toString();
}
但 SonarQube 报告此错误:
Method XXX(String, String, Long) passes constant String of length 1 to character overridden method
行
idKey.append(VERSION);
这意味着常量 VERSION
当前长度为 1 个字符,其类型 可以 更改为 char
以提高效率。
从长远来看没有意义(版本号在未来的版本中会越来越长),但 SonarQube 只是一个愚蠢的工具,你总是要自己判断它的建议。