Saya tahu ada cara untuk menulis if
pernyataan Java dalam bentuk singkat.
if (city.getName() != null) {
name = city.getName();
} else {
name="N/A";
}
Adakah yang tahu cara menulis formulir pendek untuk 5 baris di atas menjadi satu baris?
Saya tahu ada cara untuk menulis if
pernyataan Java dalam bentuk singkat.
if (city.getName() != null) {
name = city.getName();
} else {
name="N/A";
}
Adakah yang tahu cara menulis formulir pendek untuk 5 baris di atas menjadi satu baris?
if
logika Anda salah.if (city.getName()!=null){name = city.getName();}else{name="N/A"}
if (city.getName()!= null) name = city.getName(); else name="N/A";
Jawaban:
Gunakan operator ternary:
Saya pikir Anda memiliki kondisi mundur - jika itu nol, Anda ingin nilainya menjadi "N / A".
Bagaimana jika kota itu nol? Kode Anda * mengenai tempat tidur dalam kasus itu. Saya akan menambahkan cek lain:
sumber
name = city.getName() == null ? "N/A" : city.getName();
name = city.getName()==null ? "N/A" : city.getName()
String cityName = city.getName();
membuangNullPointerException
jikacity == null
? Karena itu saya akan mengatakan solusi tengah Anda pasti yang terbaik (PS dan saya menyetujui tanda kurung yang 'tidak perlu'! Orang-orang perlu mengingat bahwa 99% pengkodean berkomunikasi dengan orang lain (dan diri Anda di masa depan), bukan kompiler - jika tidak kita akan menggunakan c!)Untuk menghindari menelepon
.getName()
dua kali saya akan menggunakansumber
city.setName(null)
. Jawaban Anda dengan rapi mengatasinya.Cara untuk melakukannya adalah dengan operator ternary:
Namun, saya yakin Anda memiliki kesalahan ketik pada kode Anda di atas, dan Anda bermaksud mengatakan:
sumber
Di Jawa Anda dapat menulis:
Menetapkan variabel tunggal ke salah satu dari dua status berdasarkan satu kondisi adalah penggunaan yang umum jika-selain itu jalan pintas telah dirancang untuknya, operator kondisional,?:. Menggunakan operator kondisional, Anda dapat menulis ulang contoh di atas dalam satu baris seperti ini:
(a> b)? a: b; adalah ekspresi yang mengembalikan salah satu dari dua nilai, a atau b. Kondisi, (a> b), diuji. Jika benar nilai pertama, a, dikembalikan. Jika salah, nilai kedua, b, dikembalikan. Nilai mana pun yang dikembalikan bergantung pada tes bersyarat, a> b. Kondisi dapat berupa ekspresi apa pun yang mengembalikan nilai boolean.
sumber
dalam java 8:
sumber
Saya selalu lupa bagaimana cara menggunakan
?:
operator ternary . Jawaban tambahan ini adalah pengingat cepat. Ini adalah singkatan untukif-then-else
.dimana
()
memegangif
?
carathen
:
caraelse
Itu sama dengan
sumber
Anda dapat menulis
if, else if, else
pernyataan dalam bentuk singkat. Sebagai contoh:Ini adalah bentuk singkat dari:
sumber
Sintaksis:
Jadi dalam kode Anda, Anda dapat melakukan seperti ini:
TAMBAHAN: untuk penasaran
Dalam beberapa bahasa berbasis di
JAVA
likeGroovy
, Anda dapat menggunakan sintaks ini:Operator
?:
menetapkan nilai yang dikembalikan dari variabel yang kami minta. Dalam hal ini, nilaicity.getName()
jika tidaknull
.sumber
sumber
pertama-tama kondisinya
(city.getName() == null)
diperiksa. Jika ya, maka"N/A"
ditugaskan untuk nama atau hanyaname="N/A"
atau nilai daricity.getName()
ditugaskan untuk nama, yaituname=city.getName()
.Hal-hal untuk dilihat di sini:
(city.getName() == null)?
. Di sini tanda tanya tepat setelah kondisi. Mudah dilihat / dibaca / bahkan ditebak!:
) dan nilai kanan titik dua (a) nilai kiri titik dua diberikan ketika kondisi benar, jika tidak nilai kanan titik dua ditugaskan ke variabel.inilah referensi: http://www.cafeaulait.org/course/week2/43.html
sumber
di sini adalah satu kode baris
di sini adalah contoh cara kerjanya, jalankan kode di bawah ini dalam file js dan pahami hasilnya. Ini
("Data" != null)
adalah kondisi seperti yang kita lakukan dalam keadaan normalif()
dan"Data"
merupakan pernyataan ketika kondisi ini menjadi kenyataan. ini" : "
bertindak seperti yang lain dan"N/A"
merupakan pernyataan untuk kondisi lain. Semoga ini bisa membantu Anda memahami logika.sumber
Gunakan org.apache.commons.lang3.StringUtils:
sumber
Sederhana & jelas:
versi panjang:
atau bagaimana saya menggunakannya agar menjadi jelas bagi pembaca kode lainnya:
sumber
Anda dapat menggunakan operator ternary di java.
Sintaksis:
Jadi dalam kode Anda, Anda dapat melakukan seperti ini,
Untuk info lebih lanjut, Anda dapat merujuk sumber ini .
sumber
sumber