final
.
All final
fields have a value and this value does not change, which can make the code easier to reason about.
To avoid too expensive analysis, this inspection only reports if the field has a private
modifier
or it is defined in a local or anonymous class.
A field can be final
if:
static
and initialized once in its declaration or in one static
initializer.static
and initialized once in its declaration, in one instance initializer or in every constructorExample:
public class Person {
private String name; // can be final
Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
After the quick-fix is applied:
public class Person {
private final String name;
Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Use the "Annotations" button to modify the list of annotations that assume implicit field write.