Heim > Java > javaLernprogramm > Gibt es eine schnellere Möglichkeit, zu überprüfen, ob ein Java-String eine Ganzzahl darstellt?

Gibt es eine schnellere Möglichkeit, zu überprüfen, ob ein Java-String eine Ganzzahl darstellt?

DDD
Freigeben: 2024-12-11 20:52:12
Original
302 Leute haben es durchsucht

Is There a Faster Way to Check if a Java String Represents an Integer?

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;
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage