我有两种方法,在某些情况下会有不明确的调用。 例如:
void bla(Integer a);
void bla(String a);
基本上当我调用bla(null)时,我会得到模糊的调用错误。 是否可以在编译阶段之前编写或使用一些可以解决此问题的注释?
在编译器启动之前,我可以在bla(String a)
中阻止空选项吗?我试图编写一个NotNull注释(但它在编译阶段后开始)。
见下面的代码:
@Documented
@Retention(RetentionPolicy.SOURCE)
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
public @interface NotNull1 {
String value() default "";
}
void bla(@NotNull1 String a);
答案 0 :(得分:8)
将null转换为方法参数的类型。
bla((Integer) null);
bla((String) null);