Saya ingin melakukan beberapa tindakan HANYA JIKA string saya memiliki nilai yang bermakna. Jadi, saya mencoba ini.
if (!myString.equals("")) {
doSomething
}
dan ini
if (!myString.equals(null)) {
doSomething
}
dan ini
if ( (!myString.equals("")) && (!myString.equals(null))) {
doSomething
}
dan ini
if ( (!myString.equals("")) && (myString!=null)) {
doSomething
}
dan ini
if ( myString.length()>0) {
doSomething
}
Dan dalam semua kasus, program saya doSomethingterlepas dari fakta bahwa string saya KOSONG. Itu sama dengan null. Jadi, apa yang salah dengan itu?
TAMBAH:
Saya menemukan alasan masalahnya. Variabel dinyatakan sebagai string dan, sebagai konsekuensinya, nullditugaskan untuk variabel ini ditransformasikan menjadi "null"! Jadi, if (!myString.equals("null"))berhasil.
System.out.println(myString)segera sebelum if-block agar Anda dapat melihat apa yang ada di sana?
null"?
nullditugaskan untuk variabel ini ditransformasikan ke "null"- ini adalah ide yang mengerikan. Cobalah untuk mengubah desain ini jika memungkinkan.
nulltidak memiliki metode, juga tidakequals(). JikamyStringtidaknull, bagaimana Anda pernah memanggil metode pada itu? :)