Maison > Java > javaDidacticiel > le corps du texte

Comment convertir une chaîne en Int en Java

王林
Libérer: 2023-05-15 14:22:13
avant
7804 Les gens l'ont consulté

Utilisation

En Java, nous rencontrons souvent des scénarios qui nécessitent une conversion de type de données. La conversion de données de type String en type Int est un scénario relativement courant. Il existe deux méthodes de conversion principales :

  • 1. ) Méthode

  • 2. résultats de l'exécution, deux méthodes peuvent compléter la conversion de chaîne en entier.

  • Remarques

Mais il convient de noter qu'il existe une condition préalable à l'utilisation de ces deux méthodes, à savoir Le contenu de la chaîne à convertir doit être constitué de nombres purs.

Il n'est pas difficile de constater que les chaînes à convertir dans la démo ci-dessus sont toutes des chaînes composées de nombres purs tels que "31" et "32". Si d'autres caractères que des nombres apparaissent dans la chaîne à convertir, le le programme lèvera une exception. Comme le montre la démo ci-dessous, ajoutez des lettres anglaises minuscules à la chaîne et enveloppez le segment de code avec des instructions try-catch pour intercepter les exceptions qui peuvent survenir. (Parce que nous savons déjà que la conversion d'une chaîne avec des lettres en un entier entraînera une exception de conversion de format numérique, nous choisissons donc d'attraper NumberFormatException)

public void convert() {
    // 1.使用Integer.parseInt(String)
    String str1 = "31";
    Integer num1 = Integer.parseInt(str1);
    System.out.print("字符串31转换为数字:");
    System.out.println(num1);

    // 2.使用Integer.valueOf(String)
    String str2 = "32";
    Integer num2 = Integer.valueOf(str2);
    System.out.print("字符串32转换为数字:");
    System.out.println(num2);
}
Copier après la connexion

Comme le montrent les résultats de l'exécution, ce code se trouve dans Integer.parseInt( String) et Integer respectivement. La position .valueOf(String) a déclenché une exception NumberFormatException. La raison est qu'il y a des lettres anglaises dans la chaîne convertie et ne peut pas être convertie en un entier. Comment convertir une chaîne en Int en Java

Comparaison des performances

Nous pouvons utiliser System.nanoTime() pour vérifier la différence de temps d'exécution des deux méthodes

public void convert() {
    // 1.Integer.parseInt(String)
    try {
        String str1 = "31a";
        Integer num1 = Integer.parseInt(str1);
        System.out.print("字符串31a转换为数字:");
        System.out.println(num1);
    } catch (NumberFormatException e) {
        System.out.println("Integer.parseInt(String)方法执行异常");
        e.printStackTrace();
    }
 
    // 1.Integer.valueOf(String)
    try {
        String str2 = "32b";
        Integer num2 = Integer.valueOf(str2);
        System.out.print("字符串32b转换为数字:");
        System.out.println(num2);
    } catch (NumberFormatException e) {
        System.out.println("Integer.valueOf(String)方法执行异常");
        e.printStackTrace();
    }
}
Copier après la connexion
Parmi elles, les valeurs d'intervalle1 et d'intervalle2 font respectivement référence à la différence de temps système avant et après l'exécution des deux méthodes, en unités C'est des nanosecondes. Après l'avoir exécutée plusieurs fois, vous pouvez constater que le temps d'exécution de la méthode Integer.valueOf(String) est plus court que celui de la méthode Integer.parseInt(String), et la performance est meilleure

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!

Étiquettes associées:
source:yisu.com
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