Effiziente Prüfung von Ganzzahl-Strings in Java
Die Prüfung, ob ein String in eine Ganzzahl konvertiert werden kann, ist eine häufige Aufgabe in der Softwareentwicklung. Der Standardansatz beinhaltet die Verwendung der Integer.parseInt()-Methode innerhalb eines Try-Catch-Blocks. Diese Methode kann jedoch langsam sein, wenn nicht-ganzzahlige Daten verarbeitet werden.
Benutzerdefinierte Ganzzahlprüfung
Ein alternativer Ansatz besteht darin, eine benutzerdefinierte Funktion zu implementieren, die den String und durchläuft validiert jedes Zeichen wie folgt:
public static boolean isInteger(String str) { if (str == null) { return false; } int length = str.length(); if (length == 0) { return false; } int i = 0; if (str.charAt(0) == '-') { if (length == 1) { return false; } i = 1; } for (; i < length; i++) { char c = str.charAt(i); if (c < '0' || c > '9') { return false; } } return true; }
Diese Funktion prüft, ob der String null und leer ist, ein führendes negatives Vorzeichen hat und ausschließlich aus besteht Ziffern.
Leistungsvergleich
Benchmarking zeigt, dass die benutzerdefinierte Funktion Integer.parseInt() bei nicht ganzzahligen Daten um etwa das 20- bis 30-fache übertrifft. Während Integer.parseInt() für gültige Ganzzahlzeichenfolgen schneller bleibt, bietet die benutzerdefinierte Funktion erhebliche Geschwindigkeitsvorteile bei der Verarbeitung großer Datenmengen, die möglicherweise Nicht-Ganzzahlen enthalten.
Das obige ist der detaillierte Inhalt vonWie kann ich in Java effizient prüfen, ob ein String eine Ganzzahl darstellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!