相关疑难解决方法(0)

new ClassName[0] 的作用是什么?(Java 8)

这个用方括号将数字括起来的语法有什么作用?

new Integer[0];
Run Code Online (Sandbox Code Playgroud)

我在我维护的代码库中找到了它,但找不到任何相关文档。它的使用方式如下:

Set<Form> forms = getForms();
List<Form> formsList = Arrays.asList(forms.toArray(new Form[0]))
Run Code Online (Sandbox Code Playgroud)

java

5
推荐指数
1
解决办法
860
查看次数

不可变的最终变量应该是静态的吗?

在java中,如果变量是不可变的,那么最终它应该是一个静态类变量吗?

我问,因为每次类的一个实例使用它时创建一个新对象似乎很浪费(因为它始终是相同的).

例:

每次调用时在方法中创建的变量:

public class SomeClass {

    public void someMethod() {

        final String someRegex = "\\d+";
        final Pattern somePattern = Pattern.compile(someRegex);

        ...

    }

}
Run Code Online (Sandbox Code Playgroud)

变量创建一次:

public class SomeClass {

    private final static String someRegex = "\\d+";
    private final static Pattern somePattern = Pattern.compile(someRegex);

    public void someMethod() {

        ...

    }

}
Run Code Online (Sandbox Code Playgroud)

使用后一个代码总是更好吗?

这个答案似乎表明最好使用后面的代码:如何在Java中初始化长度为0的String数组?

java

4
推荐指数
1
解决办法
411
查看次数

标签 统计

java ×2