Home  >  Article  >  Java  >  How to convert String to Int in Java

How to convert String to Int in Java

王林
王林forward
2023-05-15 14:22:137734browse

Usage

In java, we often encounter scenarios that require type conversion of data. Converting String type data to Int type is a relatively common scenario. There are two main conversion methods:

  • 1. Use the Integer.parseInt(String) method

  • 2. Use the Integer.valueOf(String) method

The specific demo is as follows:

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

Execution results:

How to convert String to Int in Java

It can be seen according to the execution results, two Both methods can complete the conversion from string to integer.

Notes

But it should be noted that there is a prerequisite for using these two methods, that is, the content of the string to be converted must be pure numbers.

It is not difficult to find that the strings to be converted in the demo above are all strings composed of pure numbers such as "31" and "32". If other characters besides numbers appear in the string to be converted, , the program will throw an exception.

As shown in the demo below, add lowercase English letters to the string and wrap the code segment with try-catch statements to catch exceptions that may occur. (Because we already know that converting a string with letters into an integer will cause a digital format conversion exception, so we choose to catch NumberFormatException)

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();
    }
}

It can be seen from the execution results that this code is in Integer.parseInt(String ) method and the Integer.valueOf(String) position triggered NumberFormatException. The reason is that there are English letters in the converted string and cannot be converted into an integer type .

How to convert String to Int in Java

Performance comparison

We can use System.nanoTime() to view the time difference between the execution of the two methods

public static void convert() {
    // 1.Integer.parseInt(String)
    String str1 = "321";
    long before1 = System.nanoTime();
    Integer.parseInt(str1);
    long interval1 = System.nanoTime() - before1;
    System.out.print("Integer.parseInt(String)的执行时长(纳秒):");
    System.out.println(interval1);

    // 1.Integer.valueOf(String)
    String str2 = "332";
    long before2 = System.nanoTime();
    Integer.valueOf(str2);
    long interval2 = System.nanoTime() - before2;
    System.out.print("Integer.valueOf(String)的执行时长(纳秒):");
    System.out.println(interval2);
}

Among them, interval1 The values ​​of and interval2 respectively refer to the difference in system time before and after the execution of the two methods. The unit is nanoseconds. After executing it multiple times, it can be found that the execution time of the Integer.valueOf(String) method is shorter than the Integer.parseInt(String) method. Better performance

How to convert String to Int in Java

The above is the detailed content of How to convert String to Int in Java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete