0
私はJavaでGoogle Protobufを使用しています。私は空の繰り返し文字列を送ることに問題があります。Google Protobuf空のリストサイズ1を表示
今message OurPokemonMessage {
....
repeated string learnableMoves = 10;
}
私はこのような(空である)のコレクションを追加するためにいるProtobufメソッドを使用します。
message.addAllLearnableMoves(someEmptyListOfString);
私はこのメッセージを使用して文字列の新しいリストを作成するときに今、私は一つの要素を取得しますリストは空のリストです。
これは、私がメッセージを使用して文字列のリストを作成する方法である:
new ArrayList<>(message.getLearnableMovesList())
この配列リストが空の文字列要素が含まれています。そこで私はメッセージをデバッグし、2つの条件を評価し、奇妙な結果を見つけました。
message.getLearnableMovesList()//clearly shows empty list
(com.google.protobuf.UnmodifiableLazyStringList) [] //Empty
message.getLearnableMovesList().size()//shows the size of list is 1
(int) 1 //Size is 1
誰も同じような問題に直面していますか?これを解決する方法はありますか?
スニペットを表示するのではなく、[mcve ]?それは私たちが問題を再現するのをはるかに簡単にします。 –
私は小さな問題で問題を再現しようとしましたが、その場合はそうではありません。私は複雑なProtobuf構造を使用しており、ネットワークを介してメッセージを送信しているので、適切な例を提供する方法については正確にはわかりません:/ – Sneh
小さな例で再現するのに苦労している場合は、私たちが助けてくれるのはとても難しいでしょう。プロジェクト全体をコピーして、問題が見つかるまで、または少しの例があるまで、ビットを徐々に削除してみてください。 –