java 未使用的形式参数:避免未使用的构造函数参数,例如 'upper'
java Unused Formal parameter: Avoid unused constructor parameters such as 'upper'
我们有这个名为 sonar 的应用程序来分析代码以进行正确的编码练习。它指控的违规行为之一是:未使用的形式参数:避免未使用的构造函数参数,例如 'upper'.
//Private inner class to set the input to a max length.
public class TextLimiter extends PlainDocument
{
private int limit;
public TextLimiter(int limit)
{
super();
this.limit = limit;
}
TextLimiter(int limit, boolean upper)
{
super();
this.limit = limit;
}
public void insertString(int offset, String str, AttributeSet attr)
throws BadLocationException
{
if (str == null)
{
return;
}
if ((getLength() + str.length()) <= limit)
{
super.insertString(offset, str, attr);
}
}
}
我不确定如何更正此问题。
您可以通过使用该参数来解决此问题,如下所示:
public TextLimiter(int limit) {
this(limit, false);
}
TextLimiter(int limit, boolean upper) {
super();
if (upper) {
this.limit = limit;
} else {
this.limit = -limit;
}
}
这只是如何使用 upper
的示例。在不知道你的 class.
背后的目的的情况下是不可能做出决定的
如果 upper 参数没有用处,我认为您不应该仅仅因为它在原始代码中就保留它。要停止有关重复代码的警告,只需删除 TextLimiter(int limit, boolean upper)
并保留 public TextLimiter(int limit)
.
我们有这个名为 sonar 的应用程序来分析代码以进行正确的编码练习。它指控的违规行为之一是:未使用的形式参数:避免未使用的构造函数参数,例如 'upper'.
//Private inner class to set the input to a max length.
public class TextLimiter extends PlainDocument
{
private int limit;
public TextLimiter(int limit)
{
super();
this.limit = limit;
}
TextLimiter(int limit, boolean upper)
{
super();
this.limit = limit;
}
public void insertString(int offset, String str, AttributeSet attr)
throws BadLocationException
{
if (str == null)
{
return;
}
if ((getLength() + str.length()) <= limit)
{
super.insertString(offset, str, attr);
}
}
}
我不确定如何更正此问题。
您可以通过使用该参数来解决此问题,如下所示:
public TextLimiter(int limit) {
this(limit, false);
}
TextLimiter(int limit, boolean upper) {
super();
if (upper) {
this.limit = limit;
} else {
this.limit = -limit;
}
}
这只是如何使用 upper
的示例。在不知道你的 class.
如果 upper 参数没有用处,我认为您不应该仅仅因为它在原始代码中就保留它。要停止有关重复代码的警告,只需删除 TextLimiter(int limit, boolean upper)
并保留 public TextLimiter(int limit)
.