Bir koşul ayarlamaya çalışıyorum ve aşağıdaki gibi true veya false ayarlamaya çalışıyorum ancak her zaman false değerini döndürür.Java Üçlü Operatör true veya false değerini ayarlamak için
boolean checked = (categoriesCursor.getString(3) == "1") ? true
: false;
Log.i("Nomad",categoriesCursor.getString(3)+ " "+checked);
Değerleri çıkarmaya çalıştığımda aşağıdakileri elde ediyorum. Eğer referanslar değil dizeleri karşılaştırarak çünkü
01-12 00:05:38.072: I/Nomad(23625): 1 false
01-12 00:05:38.072: I/Nomad(23625): 1 false
01-12 00:05:38.072: I/Nomad(23625): 1 false
01-12 00:05:38.072: I/Nomad(23625): 1 false
01-12 00:05:38.072: I/Nomad(23625): 1 false
01-12 00:05:38.072: I/Nomad(23625): 0 false
01-12 00:05:38.072: I/Nomad(23625): 0 false
Kodunuz hakkında bir yorum: Neden burada üçlü operatör kullanıyorsunuz? Boolean işaretli = "1" .equals (categoryCursor.getString (3)); ' –
Burada tüm cevaplara bir yorum:' '1 '.equals (categoriesCursor.getString (3));' 'dır 'categoryCursor.getString (3) .equals ("1")' den daha düşüktür çünkü bir NullPointerException için daha az fırsat vardır. –
@DanielKaplan vay.Böyle bir şey yapabildiğimi bilmiyordum: D –