Effiziente Prüfung, ob ein String eine Ganzzahl in Java darstellt
In Java ist der herkömmliche Ansatz zur Validierung, ob ein String in einen geparst werden kann integer besteht darin, die Methode Integer.parseInt() innerhalb eines Try-Catch-Blocks zu nutzen. Allerdings ist diese Methode möglicherweise nicht die effizienteste oder eleganteste Lösung.
Eine effizientere Alternative besteht darin, eine benutzerdefinierte Funktion zu implementieren, die die Zeichen der Eingabezeichenfolge manuell durchläuft und dabei sicherstellt, dass es sich bei jedem um eine gültige numerische Ziffer handelt (' 0' bis '9'). Diese Methode eliminiert den mit der Ausnahmebehandlung verbundenen Aufwand.
Die folgende benutzerdefinierte Funktion bietet eine schnelle und genaue Möglichkeit, nach Ganzzahlen zu suchen:
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; }
Benchmarks haben gezeigt, dass diese benutzerdefinierte Funktion 20 ausführen kann -30-mal schneller als Integer.parseInt() für nicht ganzzahlige Eingaben. Obwohl es möglicherweise etwas weniger wartbar ist, ist es aufgrund seiner verbesserten Leistung eine praktikable Option für Anwendungen, bei denen Geschwindigkeit entscheidend ist.
Das obige ist der detaillierte Inhalt vonGibt es eine schnellere Möglichkeit, zu überprüfen, ob ein Java-String eine Ganzzahl darstellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!