我问,因为每次类的一个实例使用它时创建一个新对象似乎很浪费(因为它始终是相同的).
例:
每次调用时在方法中创建的变量:
public class SomeClass {
public void someMethod() {
final String someRegex = "\\d+";
final Pattern somePattern = Pattern.compile(someRegex);
...
}
}
变量创建一次:
public class SomeClass {
private final static String someRegex = "\\d+";
private final static Pattern somePattern = Pattern.compile(someRegex);
public void someMethod() {
...
}
}
使用后一个代码总是更好吗?
解决方法:
绝对不是.
class MyIntegerContainer{
private final int x;
public MyIntegerContainer(int x){
this.x = x;
}
}
如果你创建了不可变的final x static,那么MyIntegerContainer的所有实例将共享相同的x值,这对于一个非常好的数据容器是不会的.
标签:java
来源: https://codeday.me/bug/20190611/1216231.html