Apache Avro GenericRecord
から変数値を抽出していますので、文字列変数の値はnullではなく "null"になります。nullの代わりに "null" Stringをチェックするユーティリティが組み込まれていますか?
GenericRecord payload = decoder.decode(record.value());
String userid = String.valueOf(payload.get("userId"));
// here userid is null string as "null"
System.out.println(Strings.isNullOrEmpty(userid));
そして、そのせいで「ヌル」文字列、私のsysout
プリントアウトとして偽の。これをチェックして "true"と表示させるにはどうすればいいですか?bcoz stringは空文字列です。そこには、それを行うか、私自身の ".equals"チェックを書かなければなりません。
根本原因を修正する必要があります。 "null"は有効な文字列です.GenericRecordから 'null 'でなく' null'を取得してください。 [Mr Null](https://www.wired.com/2015/11/null/)に感謝いたします。 –
私はそれがAvroスキーマが定義されている方法である可能性があることを疑います。 –