Maison > Java > javaDidacticiel > Existe-t-il un moyen plus rapide de vérifier si une chaîne Java représente un entier ?

Existe-t-il un moyen plus rapide de vérifier si une chaîne Java représente un entier ?

DDD
Libérer: 2024-12-11 20:52:12
original
304 Les gens l'ont consulté

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

Vérifier efficacement si une chaîne représente un entier en Java

En Java, l'approche conventionnelle pour valider si une chaîne peut être analysée en un integer consiste à exploiter la méthode Integer.parseInt() dans un bloc try-catch. Cependant, cette méthode n'est peut-être pas la solution la plus efficace ou la plus élégante.

Une alternative plus efficace consiste à implémenter une fonction personnalisée qui parcourt manuellement les caractères de la chaîne d'entrée, en s'assurant que chacun est un chiffre numérique valide (' 0' à '9'). Cette méthode élimine la surcharge associée à la gestion des exceptions.

La fonction personnalisée suivante fournit un moyen rapide et précis de vérifier les entiers :

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;
}
Copier après la connexion

Les benchmarks ont montré que cette fonction personnalisée peut exécuter 20 -30 fois plus rapide que Integer.parseInt() pour les entrées non entières. Bien qu'il soit légèrement moins maintenable, ses performances améliorées en font une option viable pour les applications où la vitesse est cruciale.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal