以下のコードのforループは一度だけ実行されます。私は似たような質問を見ていたが、それらは私がいない間にループのリストを編集するようなものである。リストを実行するjava forループは一度だけ実行されます
public String getProfileList(JSONObject obj, String uuid) {
JSONObject profile = (JSONObject) obj.get("profiles");
@SuppressWarnings("unchecked")
ArrayList<String> list = new ArrayList<String>(profile.keySet());
System.out.println(list);
for (String object: list) {
System.out.println(object);
String isUUID = (String) ((JSONObject) profile.get(object)).get("mpm-data:uuid");
System.out.println(object + " == " + isUUID);
if (isUUID.equals(uuid)) {
System.out.println("TRUE");
return object;
}
}
System.out.println("no profile found.");
return null;
}
このコードは、これを出力:あなたのコンソール出力の場合
[5fb4acd48e7d422eabecd82e32fb03c6, 44d01181eae635d31f2cefe5e1f75cd4,e0e96e422659dfdc1ad16d53a37ee618, a3ae7136f900457290e99bd657db0385]
5fb4acd48e7d422eabecd82e32fb03c6
5fb4acd48e7d422eabecd82e32fb03c6 == null
を確認してくださいexception.Can NULLポインタを投げる必要があるnullの場合、それは '可能ですisUUID .equals(uuid) 'がNullPoiを投げているnterException。代わりに 'uuid.equals(isUUID)'を試してみてください。 – Eran
それを実行する前に、おそらくどこかにあり例外を隠しているcatch(Exception)を削除してください。 –
@Elanそれでした。どうもありがとうございました。 – mrjvs