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; }
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!