'final'字段修饰符是不可变类中的超浮点?



我通常具有如此小的类定义,如下:

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;
    }
}

没有任何方法可以通过客户修改"品牌"one_answers"情感"。如果我删除了"最终"修饰符,我的Intellij给了我一个警告,说我应该添加"最终"方法。

在这种情况下总是添加"最终"是很好的做法吗?

Intellij建议将变量尽可能为final,因为它会阻止您意外修改该变量。

使用static final修饰符,有时Java编译器还会优化代码。

最新更新