このコードに問題があります...
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
...
StdSerializer<Object> stdSerializer;
stdSerializer = ToStringSerializer.instance;
注: パッケージには@NonNullByDefault
、package-info.java で注釈が付けられます。
上記のコードの最後の行にToStringSerializer.instance
、次のエラーがあります...
Null 型の安全性 (型注釈): 型 'ToStringSerializer' の式は、'StdSerializer<@NonNull Object>' に準拠するために未チェックの変換が必要です。対応するスーパータイプは 'StdSerializer' です
ファイルにはToStringSerializer.eea
...
class com/fasterxml/jackson/databind/ser/std/ToStringSerializer
instance
Lcom/fasterxml/jackson/databind/ser/std/ToStringSerializer;
L1com/fasterxml/jackson/databind/ser/std/ToStringSerializer;
...
Eclipse 2021-03 (4.19.0 ビルド 20210312-0638) がToStringSerializer.instance
である必要があると言うのはなぜ...<@NonNull...>
ですか? Eclipse はどのようにしてそれが である必要があると判断しObject
ます@NonNull
か? これを修正するにはどうすればよいですか?
この問題は Eclipse 2020-12 で発見され、Eclipse 2021-03 でも発生します。