考虑以下示例代码。此代码使用 Eclipse@NonNull
和@Nullable
注释来检查null
s。不幸的是,Eclipse 在行上标记了一个错误map(toNonNull)
。
import java.util.function.Function;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import one.util.streamex.StreamEx;
Function<@NonNull Integer, @Nullable Integer> toNull;
Function<@NonNull Integer, @NonNull Integer> toNonNull;
toNull = value -> value;
toNonNull = value -> value;
StreamEx.
of(1, 2, 3, 4, 5, 6).
map(toNull).
nonNull().
map(toNonNull). // Error is here
count();
这是错误消息:
Null 类型不匹配(类型注释):需要“Function”,但此表达式的类型为“Function<@NonNull Integer, @NonNull Integer>”
我想在StreamExnonNull()
(或更准确地说AbstractStreamEx)上创建一个 Eclipse 外部注释,nonNull()
以便 Eclipse 知道流中的值不能为空。
这是 Eclipse 外部注释的开始。
class one/util/streamex/AbstractStreamEx<TS>
nonNull
()TS;
()???;
我放???
什么?