Überprüft, ob string.Länge == 0 noch schneller als Prüfung string == ""?

Lese ich aus einem Buch über Programmierung über 7-8 Jahre her, dass die überprüfung string.length == 0 ist ein schneller Weg, um zu überprüfen, für leere Saiten. Ich Frage mich, ob diese Aussage trifft auch heute noch (oder falls es jemals überhaupt wahr), weil ich persönlich denke, dass string == "" ist übersichtlicher und besser lesbar. Ich großteils mit high-level-Sprachen wie .NET und java.

  • Es hängt von der Umsetzung.
  • Welche Sprache? - Es hängt von vielen Dingen ab. Obwohl in der Regel strings speichern Ihre Länge in der Objekt-und der erste Schritt der Gleichstellung ist zu überprüfen Länge.
  • In Java sollte man nicht mit == vergleichen von Zeichenfolgen; es ist nicht garantiert, um Ihnen die richtige Antwort.
  • Testen Sie es und finden Sie heraus.
  • in .Net, ich Neige dazu, verwenden Sie string.IsNullOrWhiteSpace() oder string.IsNullOrEmpty()
  • Ich denke, dass string.length == 0 besetzen würden weniger Speicher, da es primitive int-Vergleich statt, der einen Vergleich der Inhalte von zwei höheren Ebene der Objekte als strings. Obwohl in vielen Fällen optimiert werden konnten.
  • In der Regel, string-Objekt speichern Ihre Länge und daher immer und Vergleich der Ganzzahl ist sehr schnell und hat weniger Speicher zuzugreifen, als eine equals () -, wo Sie - im schlimmsten Fall - haben zu prüfen, die Länge und die Schleife über die Zeichen. Trotzdem, heute ist die equals () - Methode der string sollte auch prüfen, ob die Länge der ersten und deshalb soll es - fast - der gleichen Geschwindigkeit wie die Prüfung für die Länge.
  • M. Das war eine tolle Antwort. Könntest du das nochmal posten, wie die Antwort, so kann ich es akzeptieren? Danke.
  • In Java-String-seit Java 6: public boolean isEmpty() { return value.length == 0; }

InformationsquelleAutor user1032613 | 2012-09-25
Schreibe einen Kommentar