Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java未使用的形式参数:避免未使用的构造函数参数,如';上';_Java_Sonarqube - Fatal编程技术网

java未使用的形式参数:避免未使用的构造函数参数,如';上';

java未使用的形式参数:避免未使用的构造函数参数,如';上';,java,sonarqube,Java,Sonarqube,我们有一个名为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()

我们有一个名为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);
    }
  }
}
//将输入设置为最大长度的私有内部类。
公共类TextDocument
{
私有整数限制;
公共文本限制器(整数限制)
{
超级();
这个极限=极限;
}
TextLimiter(整数限制,布尔上限)
{
超级();
这个极限=极限;
}
公共void insertString(整数偏移量、字符串str、属性集attr)
抛出BadLocationException
{
如果(str==null)
{
返回;
}

如果((getLength()+str.length())您可以通过使用该参数来解决此问题,如下所示:

public TextLimiter(int limit) {
    this(limit, false);
}

TextLimiter(int limit, boolean upper) {
    super();
    if (upper) {
        this.limit = limit;
    } else {
        this.limit = -limit;
    }
}

这只是一个如何使用
upper
的示例。在不知道类背后的目的的情况下,无法做出决定。

如果您不使用upper参数,我认为您不应该仅仅因为它在原始代码中就保留它。要停止关于重复代码的警告,只需删除
TextLimiter即可(整数限制,布尔上限)
和keep
公共文本限制(整数限制)

使用形式参数?upper
的作用是什么?你什么都不用做。我不确定。但是如果我删除upper,我会得到一个重复的方法错误。老实说,我是从网络上得到的代码,有人在网络上编写了一个类来限制可以写入文本字段的文本量。@user1158745当然可以。它会重复e另一个构造函数。最大的问题是:1.这个参数意味着什么?2.哪些调用方使用它,他们给了它什么?他们期望什么?3.它在类中哪里有用?是的,这就是我最后做的。我看了几次,觉得它一开始就是“WTF”。然后我删除了它。