1. Metode untuk menentukan bahwa string str string tidak kosong adalah:
1. Str == null;
2. "" .Equals (str);
3. Str.Length <= 0;
4. Str.isempty ();
CATATAN: Panjang adalah atribut, yang merupakan properti yang dimiliki oleh objek kelas koleksi, dan memperoleh ukuran koleksi.
Misalnya: array.length adalah untuk mendapatkan panjang array.
panjang () adalah metode. Secara umum, objek kelas string memiliki metode ini, yang juga memperoleh panjang string.
Misalnya: string.length ();
menjelaskan:
1. Null berarti string ini tidak menunjukkan apa pun.
2. "" berarti menunjuk ke serangkaian panjang 0, dan aman untuk memanggil metodenya saat ini.
3. NULL bukan objek, "" adalah objek, jadi NULL tidak memiliki ruang yang dialokasikan, "" mengalokasikan ruang, misalnya:
String str1 = null;
String str2 = "";
STR1 belum menjadi objek instantiated, sedangkan STR2 telah dipakai.
Objek dibandingkan dengan yang setara, nol dibandingkan dengan tanda yang sama.
Jika str1 = null; berikut ini adalah salah:
if (str1.equals ("") || str1 == null) {}
Cara yang benar untuk menulisnya adalah jika (str1 == null || str1.equals ("")) {// Jadi ketika menilai apakah string kosong, pertama -tama tentukan apakah itu objek. adalah string kosong}
4. Oleh karena itu, untuk menentukan apakah suatu string kosong, Anda harus terlebih dahulu memastikan itu bukan nol, dan kemudian menilai panjangnya.
String str = xxx;
if (str! = null && str.length ()! = 0) {}
2. Berikut ini adalah empat metode untuk Java untuk menentukan apakah suatu string kosong:
Efisiensi keempat metode ini adalah sebagai berikut:
JUDGESTRING1 Waktu yang diambil: 625ms
JUDGESTRING2 Waktu yang Diambil: 125ms
JUDGESTRING3 waktu yang diambil: 234ms
JUDGESTRING4 waktu yang diambil: 109ms
Salinan kode adalah sebagai berikut:
/**
* Dibuat dengan ide IntelliJ.
* Pengguna: Administrator
* Tanggal: 14-1-16
* Waktu: 10:43
* Efisiensi menentukan apakah suatu string kosong
*/
JudgestringisEmptyOrnot kelas publik {
public static void main (string [] args) {
Judgestring1 ("w_basketboy", 10000);
Judgestring2 ("w_basketboy", 10000);
Judgestring3 ("w_basketboy", 10000);
Judgestring4 ("w_basketboy", 10000);
}
/**
* Metode 1: Metode yang digunakan oleh kebanyakan orang adalah intuitif, nyaman, tetapi sangat tidak efisien;
* Metode 2: Membandingkan Panjang String adalah metode terbaik;
* Metode 3: Metode yang disediakan oleh Java SE 6.0 hanya mulai memberikan, efisiensi dan metode 2 hampir sama, tetapi untuk alasan kompatibilitas, disarankan untuk menggunakan metode 2;
* Metode 4: Ini adalah metode yang relatif intuitif dan sederhana, dan efisiensinya juga sangat tinggi, yang mirip dengan efisiensi metode 2 dan 3;
*/
public static void judgestring1 (string str, long num) {
Long startTiem = system.currentTimemillis ();
untuk (int i = 0; i <num; i ++) {
untuk (int j = 0; j <num; j ++) {
if (str == null || "" .Equals (str)) {
}
}
}
Long Endtime = System.CurrentTimeMillis ();
System.out.println ("Function1 memakan waktu:" + (endtime - startTiem) + "ms");
}
public static void judgestring2 (string str, long num) {
Long startTiem = system.currentTimemillis ();
untuk (int i = 0; i <num; i ++) {
untuk (int j = 0; j <num; j ++) {
if (str == null || str.length () <= 0) {
}
}
}
Long Endtime = System.CurrentTimeMillis ();
System.out.println ("Function4 memakan waktu:" + (endtime - startTiem) + "ms");
}
public static void judgestring3 (string str, long num) {
Long startTiem = system.currentTimemillis ();
untuk (int i = 0; i <num; i ++) {
untuk (int j = 0; j <num; j ++) {
if (str == null || str.isempty ()) {
}
}
}
Long Endtime = System.CurrentTimeMillis ();
System.out.println ("Function3 memakan waktu:" + (endtime - startTiem) + "ms");
}
public static void judgestring4 (string str, long num) {
Long startTiem = system.currentTimemillis ();
untuk (int i = 0; i <num; i ++) {
untuk (int j = 0; j <num; j ++) {
if (str == null || str == "") {
}
}
}
Long Endtime = System.CurrentTimeMillis ();
System.out.println ("Function4 memakan waktu:" + (endtime - startTiem) + "ms");
}
}