1. Die Methoden, um festzustellen, dass eine String -STR nicht leer ist, sind:
1. Str == NULL;
2. "" .Equals (str);
3. Str.Length <= 0;
4. Str.isempty ();
Hinweis: Länge ist ein Attribut, das eine Eigenschaft ist, die einem Sammlungsklassenobjekt gehört, und erhält die Größe der Sammlung.
Zum Beispiel: Array.Length muss die Länge des Arrays erhalten.
Länge () ist eine Methode.
Zum Beispiel: string.length ();
veranschaulichen:
1. Null bedeutet, dass diese Zeichenfolge auf nichts hinweist.
2. "" "bedeutet, dass es auf eine Länge von 0 zeigt, und es ist sicher, seine Methode zu diesem Zeitpunkt aufzurufen.
3. Null ist kein Objekt, "" ist ein Objekt, daher hat Null keinen Platz zugewiesen "" "Zuweist der Raum, zum Beispiel Raum:
String str1 = null;
String str2 = "";
STR1 ist noch kein sofortiges Objekt, während Str2 instanziiert wurde.
Objekte werden mit Gleichen verglichen, Null wird mit dem gleichen Vorzeichen verglichen.
Wenn Str1 = null;
if (str1.equals ("") || str1 == null) {}
Der richtige Weg zum Schreiben ist if (str1 == null || str1.equals ("") {//, wenn eine Zeichenfolge leer ist, bestimmen Sie zuerst, ob es sich um ein Objekt handelt. ist eine leere Zeichenfolge}
4. Um festzustellen, ob eine Zeichenfolge leer ist, müssen Sie zuerst sicherstellen, dass sie nicht null ist, und dann ihre Länge beurteilen.
String str = xxx;
if (str! = null && str.length ()! = 0) {}
2. Im Folgenden finden Sie vier Methoden für Java, um festzustellen, ob eine Zeichenfolge leer ist:
Die Effizienz der vier Methoden ist wie folgt:
Judgestring1 Zeit benötigt: 625 ms
Judgestring2 Zeit genommen: 125 ms
Judgestring3 Zeit genommen: 234 ms
Judgestring4 Zeit genommen: 109 ms
Die Codekopie lautet wie folgt:
/**
* Mit der Intellij -Idee geschaffen.
* Benutzer: Administrator
* Datum: 14-1-16
* Zeit: 10:43 Uhr
* Die Effizienz der Bestimmung, ob eine Zeichenfolge leer ist
*/
öffentliche Klassen Judgestringisemptyornot {
public static void main (String [] args) {
Judgestring1 ("W_Basketboy", 10000);
Judgestring2 ("W_Basketboy", 10000);
Judgestring3 ("W_Basketboy", 10000);
Judgestring4 ("W_Basketboy", 10000);
}
/**
* Methode 1: Die von den meisten Menschen verwendete Methode ist intuitiv, bequem, aber sehr ineffizient.
* Methode 2: Vergleich von Stringlängen ist die beste Methode;
* Methode 3: Die von Java SE 6.0 bereitgestellte Methode hat nur begonnen, die Effizienz und Methode 2 nahezu gleich zu sein, aber aus Kompatibilitätsgründen wird empfohlen, Methode 2 zu verwenden.
* Methode 4: Dies ist eine relativ intuitive und einfache Methode, und die Effizienz ist ebenfalls sehr hoch, was der Effizienz der Methoden 2 und 3 ähnelt.
*/
public static void Judgestring1 (String Str, Long num) {
long startTiem = system.currentTimemillis ();
für (int i = 0; i <num; i ++) {
für (int j = 0; j <num; j ++) {
if (str == null || "" .Equals (str)) {
}
}
}
long endezeit = system.currentTimemillis ();
System.out.println ("Funktion1 zeitaufwändig:" + (Endime - StartTiem) + "MS");
}
public static void Judgestring2 (String Str, Long num) {
long startTiem = system.currentTimemillis ();
für (int i = 0; i <num; i ++) {
für (int j = 0; j <num; j ++) {
if (str == null || str.length () <= 0) {
}
}
}
Long EndTime = System.currentTimemillis ();
System.out.println ("Funktion4 zeitaufwändig:" + (Endime - StartTiem) + "MS");
}
public static void Judgestring3 (String Str, Long num) {
long startTiem = system.currentTimemillis ();
für (int i = 0; i <num; i ++) {
für (int j = 0; j <num; j ++) {
if (str == null || str.isempty ()) {
}
}
}
Long EndTime = System.currentTimemillis ();
System.out.println ("Funktion3 zeitaufwändig:" + (Endime - StartTiem) + "MS");
}
public static void Judgestring4 (String Str, Long num) {
long startTiem = system.currentTimemillis ();
für (int i = 0; i <num; i ++) {
für (int j = 0; j <num; j ++) {
if (str == null || str == "") {
}
}
}
Long EndTime = System.currentTimemillis ();
System.out.println ("Funktion4 zeitaufwändig:" + (Endime - StartTiem) + "MS");
}
}