Menentukan sama ada rentetan bukan nol dan bukan kosong ialah keperluan biasa dalam pengaturcaraan. Mari kita teroka contoh Java dan penyelesaiannya yang sepadan.
Pertimbangkan coretan kod di bawah:
public void doStuff(String str) { if (str != null && str != "") { // handle empty string } }
Di sini, kami ingin menyemak sama ada rentetan str kosong. Walau bagaimanapun, pendekatan menggunakan perbandingan sama yang mudah terdedah kepada kemungkinan pengecualian penuding nol.
Untuk menambah baik kod ini, kami boleh menggunakan kaedah isEmpty() yang tersedia sejak Java SE 1.6. Kaedah ini kembali benar jika rentetan adalah nol atau mempunyai panjang 0, menyediakan cara selamat dan boleh dipercayai nol untuk menyemak kekosongan.
if (str != null && !str.isEmpty()) { // handle empty string }
Perhatikan susunan syarat menggunakan operator &&. Dengan meletakkan semakan nol terlebih dahulu, kami mengelakkan kemungkinan ralat masa jalan jika str adalah nol.
Jika kita mahu mengabaikan aksara ruang kosong, kita boleh menggunakan gabungan trim() dan isEmpty():
if (str != null && !str.trim().isEmpty()) { // handle empty string }
Sebagai alternatif, dalam Java 11 dan kemudian, kita boleh menggunakan isBlank() kaedah, yang memudahkan pengendalian ruang kosong:
if (str != null && !str.isBlank()) { // handle empty string }
Untuk menjadikan kod lebih ringkas dan boleh digunakan semula, kami boleh mencipta fungsi utiliti:
public static boolean empty(String s) { return s == null || s.trim().isEmpty(); }
Fungsi ini mengembalikan benar jika rentetan adalah batal atau kosong selepas memangkas, jika tidak ia mengembalikan palsu. Kini, kami hanya boleh menggunakan:
if (!empty(str)) { // handle empty string }
Dengan menggunakan kaedah ini, kami boleh memastikan kod kami mengendalikan rentetan nol dengan mantap dan menyemak kekosongan dengan betul, menghalang kemungkinan pengecualian dan memastikan pemprosesan rentetan yang boleh dipercayai.
Atas ialah kandungan terperinci Bagaimana untuk Memeriksa Rentetan Null atau Kosong dengan Teguh di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!