“最终”字段修饰符在不可变类中是否超级丰富?

时间:2017-10-05 18:29:08

标签: java intellij-idea 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;
    }
}

没有任何方法可以修改客户的“品牌”和“情绪”。如果我删除'final'修饰符,我的IntelliJ会给我一个警告,说我应该添加'final'方法。

在这种情况下总是添加'final'是不错的做法?

1 个答案:

答案 0 :(得分:1)

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

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