In Java, the @NotNull
annotation is typically used to indicate that a particular parameter, field, or return value of a method should not be null
. However, it's important to note that there is no standard @NotNull
annotation in the Java standard library. Instead, various libraries and frameworks provide their own @NotNull
annotations. Two commonly used ones are:
javax.validation.constraints.NotNull (from Java Validation API): This annotation is part of the Java Validation API (JSR 380) and is often used for validation purposes. It can be used to specify that a parameter or field should not be
null
.Example usage:
java
import javax.validation.constraints.NotNull;
public class MyClass {
private String name;
public MyClass(@NotNull String name) {
this.name = name;
}
public void setName(@NotNull String name) {
this.name = name;
}
@NotNull
public String getName() {
return name;
}
}
In this example, we've used @NotNull
to indicate that the name
parameter in the constructor, the name
parameter in the setName
method, and the return value of the getName
method should not be null
.
org.jetbrains.annotations.NotNull (from JetBrains IntelliJ Annotations):
This annotation is commonly used in projects developed with JetBrains IntelliJ IDEA, and it's available as part of the IntelliJ Annotations library. It serves a similar purpose to the javax.validation.constraints.NotNull
annotation.
Example usage:
java
import org.jetbrains.annotations.NotNull; public class MyClass { private String name; public MyClass(@NotNull String name) { this.name = name; } public void setName(@NotNull String name) { this.name = name; } @NotNull public String getName() { return name; } }
In this example, we've used
@NotNull
from the JetBrains IntelliJ Annotations library to indicate that thename
parameter in the constructor, thename
parameter in thesetName
method, and the return value of thegetName
method should not benull
.
You should choose the @NotNull
annotation that aligns with your project's dependencies and coding standards. If you're using a specific framework or library that provides its own @NotNull
annotation, it's a good practice to use that one to maintain consistency within your codebase.
Comments
Post a Comment