是否有可能通过Java中的注释来解决模糊问题

时间:2016-01-31 09:59:46

标签: java annotations ambiguous

我有两种方法,在某些情况下会有不明确的调用。 例如:

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);

1 个答案:

答案 0 :(得分:8)

将null转换为方法参数的类型。

bla((Integer) null);
bla((String) null);