This question already has answers here:
Why would one declare an immutable class final in Java?
(11个答案)
2年前关闭。
我通常有这么小的类定义,如下所示:
没有任何方法可以修改客户的“品牌”和“情感”。如果删除“ final”修饰符,我的IntelliJ会警告我,说我应该添加“ final”方法。
在这种情况下总是添加“ final”是否是一种好习惯?
(11个答案)
2年前关闭。
我通常有这么小的类定义,如下所示:
public static class Annotation {
private final String brand;
private final Sentiment sentiment;
public Annotation(String brand, Sentiment sentiment) {
this.brand = brand;
this.sentiment = sentiment;
}
public String brand() {
return this.brand;
}
public Sentiment sentiment() {
return this.sentiment;
}
}
没有任何方法可以修改客户的“品牌”和“情感”。如果删除“ final”修饰符,我的IntelliJ会警告我,说我应该添加“ final”方法。
在这种情况下总是添加“ final”是否是一种好习惯?
最佳答案
IntelliJ建议变量尽量设为final
,因为它可以防止意外修改变量。
同样,如果使用static final
修饰符,有时Java编译器也会优化代码。
10-06 01:15