1
請考慮以下示例代碼。此代碼使用Eclipse的@NonNull
和@Nullable
註釋來檢查null
s。不幸的是,Eclipse在行map(toNonNull)
上標記了一個錯誤。AbstractStreamEx.nonNull的Eclipse外部空註釋()
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();
這裏的錯誤消息:
空類型不匹配(類型註釋):所需 '函數' 但這個表達式的類型爲 '功能< @NonNull整數,@NonNull整數>'
我想創建一個Eclipse外部註釋StreamEx的nonNull()
(或更精確地說AbstractStreamEx的nonNull()
),以便Eclipse知道流中的值不能爲空。
以下是Eclipse外部註釋的開始。
class one/util/streamex/AbstractStreamEx<TS>
nonNull
()TS;
()???;
我爲???
投入了什麼?