我在声纳上收到此警告:
隐藏实用程序类构造函数:
实用程序类不应具有公共或默认构造函数
我的课:
public class FilePathHelper {
private static String resourcesPath;
public static String getFilePath(HttpServletRequest request) {
if(resourcesPath == null) {
String serverpath = request.getSession()
.getServletContext()
.getRealPath("");
resourcesPath = serverpath + "/WEB-INF/classes/";
}
return resourcesPath;
}
}
我想要解决方案来删除 Sonar Qube 上的这个 警告。
原文由 Oomph Fortuity 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果这个类只是一个实用类,你应该将这个类设为 final 并定义一个私有构造函数:
这可以防止在代码的其他地方使用默认的无参数构造函数。
此外,您可以将类设为 final,这样它就不能在子类中扩展,这是实用程序类的最佳实践。由于您只声明了一个私有构造函数,因此其他类无论如何都无法扩展它,但将类标记为 final 仍然是最佳实践。