Есть ли какая-либо аннотация «не null», которая выполняет реальную работу?JAVA

Программисты JAVA общаются здесь
Anonymous
Есть ли какая-либо аннотация «не null», которая выполняет реальную работу?

Сообщение Anonymous »

Кажется, я не могу найти подходящей аннотации для «not null», которая бы полностью выполняла эту работу:
  • Код: Выделить всё

    @NonNull
    добавляет дополнительную проверку во время выполнения. Я не хочу этого. Мне просто нужна статическая проверка во время компиляции.
  • Код: Выделить всё

    @CheckForNull
    заставляет получателя значения проверять наличие значений NULL. Нет, спасибо. Дело в том, что отправитель значения вообще не отправляет значение null.
  • Код: Выделить всё

    @NotNull
    из javax.validation.constraints, похоже, не всегда работает. Проверки одного и того же класса допустимы, но проверки при передаче null из другого класса пропускают null. (см. пример ниже)
MyClass.java

Код: Выделить всё

package common.utils;

import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.experimental.FieldDefaults;

@AllArgsConstructor
@FieldDefaults(makeFinal = true, level = lombok.AccessLevel.PRIVATE)
public class MyClass {
@NotNull
MyOtherClass mMyOtherClass;

}
MyOtherClass.java

Код: Выделить всё

package common.utils;

public class MyOtherClass {
}
MyClasstest.java

Код: Выделить всё

package common.utils.results;

import common.utils.MyClass;

public class MyClassTest {
public void test() {
new MyClass(null); 

Подробнее здесь: [url]https://stackoverflow.com/questions/78505557/is-there-any-not-null-annotation-that-does-the-actual-job[/url]

Вернуться в «JAVA»