わかりました、これは非常に単純でばかげているのではないかと思いますが、しばらく状況と戦った後、何が起こっているのかわかりません。
私はいくつかの JSON 要素を処理するために Gson を使用しています。私のコードのどこかで、JsonObject の JsonElements の 1 つを文字列として取得し、それを別の文字列と比較します。私が見る限り、それらは両方とも等しいですが、比較すると常にfalseになります。これがスニペットです。
JsonArray arr;
JsonObject jsonobj;
JsonElement model_elem;
String STUPID_STRING = "bla bla bla";
// Previously we initializes and fill arr, it doesn't matter how... I hope
jsonobj = arr.get(0).getAsJsonObject();
model_elem = jsonobj.get("coolname");
if (model_elem.toString().equals(STUPID_STRING)) {
...
if 文の中に入ることはありません。
arr にはインデックス 0 の要素があり、jsonobj には「coolname」という名前のフィールドがあり、println model_elem の場合、「bla bla bla」を取得します (STUPID_STRING と同じ)。equals() と compareTo() == 0 も試しました。
ここで何が起こっているのかわかりません。誰か知っていますか? :-s。
前もって感謝します。