如何使@NotNull抛出运行时异常?

时间:2014-10-15 22:22:36

标签: java

如果我将null作为参数传递给@NotNull注释,是否有任何框架可以抛出异常?我不是指静态分析,而是运行时检查。

如果没有,如何实施呢?

2 个答案:

答案 0 :(得分:7)

如果您使用的是Java 6或更低版本,则可以使用Guava Preconditions

Preconditions.checkNotNull(param);

但是,如果您使用Java 7或更高版本,则Objects中会有一个效用方法。

 Objects.requireNonNull(param);

并且有一个重载需要字符串来向将被抛出的NullPointerException添加消息

Objects.requireNonNull(param,"Param cannot be null");

答案 1 :(得分:4)

Lombok @NonNull为您生成那些样板文件。而不是使用@NotNull注释方法,而是注释参数@NonNull。

import lombok.NonNull;

public class NonNullExample extends Something {
   private String name;
   public NonNullExample(@NonNull Person person) {
       super("Hello");
////   if (person == null) {
////       throw new NullPointerException("person");
////   }
       this.name = person.getName();
   }
}

请参阅标记为的众多问题以了解详情。