【发布时间】:2019-10-09 03:16:14
【问题描述】:
我正在阅读the code of Guava,我在某些代码中找到了注释java.util.@Nullable。我知道@Nullable的意思,但是这个我不明白。特别是,我在包java.util 中找不到名为Nullable 的类。
请有人告诉我这个java.util.@Nullable是什么意思:
public static <T> java.util.@Nullable Optional<T> toJavaUtil(
@Nullable Optional<T> googleOptional) {
return googleOptional == null ? null : googleOptional.toJavaUtil();
}
【问题讨论】:
-
我想知道这是否只是一种奇怪的 Java 语法主义。特别是,这基本上只是意味着
public static <T> @Nullable java.util.Optional<T> toJavaUtil,但Java 就是不允许你这样写吗? -
@JosephSible
public static <T> @Nullable java.util.Optional<T> toJavaUtil确实是不可能的,但是当导入已经存在时,没有理由使用Optional的FQN。 -
@Tom 还有另一个
Optional在此范围内。 -
谢谢大家,我在 Checker Framework 中找到了这个。
@Nullable java.util.List The correct Java syntax to write an annotation on a fully-qualified type name is to put the annotation on the simple name part, as in java.util.@Nullable List. But, it’s usually better to add import java.util.List to your source file, so that you can just write @Nullable List.
标签: java