Heim > Java > javaLernprogramm > Wie kann ich in Java effizient prüfen, ob ein String eine Ganzzahl darstellt?

Wie kann ich in Java effizient prüfen, ob ein String eine Ganzzahl darstellt?

Mary-Kate Olsen
Freigeben: 2024-12-10 22:09:11
Original
411 Leute haben es durchsucht

How Can I Efficiently Check if a String Represents an Integer in Java?

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

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage