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

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

Barbara Streisand
Barbara Streisandoriginal
2024-12-22 01:27:21987parcourir

Is There a More Efficient Way to Check if a String Represents an Integer in Java?

Déterminer si une chaîne représente un entier en Java

La nécessité de vérifier si une chaîne est considérée comme une représentation entière est courante dans la programmation Java . Une méthode courante consiste à utiliser la fonction Integer.parseInt(), enfermée dans un bloc try-catch. Cependant, certains pourraient trouver cette approche lourde. Existe-t-il une solution plus efficace ?

Une alternative axée sur les performances

Pour les scénarios où un débordement potentiel d'entier n'est pas un problème, une fonction personnalisée offre des améliorations de performances remarquables , surpassant Integer.parseInt() d'un facteur 20-30.

public static boolean isInteger(String str) {
    if (str == null || str.length() == 0) {
        return false;
    }
    int i = 0;
    if (str.charAt(0) == '-') {
        if (str.length() == 1) {
            return false;
        }
        i = 1;
    }
    for (; i < str.length(); i++) {
        char c = str.charAt(i);
        if (c < '0' || c > '9') {
            return false;
        }
    }
    return true;
}

Cette fonction analyse la chaîne caractère par caractère, en vérifiant la présence de chiffres valides. Cette approche contourne la surcharge associée à l'analyse et à la gestion des exceptions, ce qui entraîne des temps d'exécution nettement plus rapides.

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!

Déclaration:
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