> Java > java지도 시간 > 본문

Java에서 문자열을 Int로 변환하는 방법

王林
풀어 주다: 2023-05-15 14:22:13
앞으로
7804명이 탐색했습니다.

Usage

Java에서는 데이터의 유형 변환이 필요한 시나리오가 자주 발생합니다. String 유형 데이터를 Int 유형으로 변환하는 것은 두 가지 주요 변환 방법입니다.

  • 1. ) 메서드

  • 2. Integer.valueOf(String) 메서드를 사용합니다.

구체적인 데모는 다음과 같습니다.

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);
}
로그인 후 복사

실행 결과:

Java에서 문자열을 Int로 변환하는 방법

실행 결과에 따르면 두 가지 방법이 있습니다. 문자열을 정수로 변환할 수 있습니다.

Notes

하지만 이 두 가지 방법을 사용하려면 전제 조건이 있다는 점에 유의해야 합니다. 즉, 변환할 문자열의 내용은 순수 숫자여야 합니다.

위 데모에서 변환 대상 문자열은 "31", "32" 등 모두 순수 숫자로 구성된 문자열이라는 것을 어렵지 않게 찾을 수 있습니다. 프로그램에서 예외가 발생합니다.

아래 데모와 같이 문자열에 영문 소문자를 추가하고 코드 세그먼트를 try-catch 문으로 감싸서 발생할 수 있는 예외를 포착합니다. (문자가 포함된 문자열을 정수로 변환하면 디지털 형식 변환 예외가 발생한다는 것을 이미 알고 있으므로 NumberFormatException을 catch하도록 선택했습니다.)

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();
    }
}
로그인 후 복사

실행 결과에서 볼 수 있듯이 이 코드는 Integer.parseInt( String) 메소드와 Integer 위치에서 NumberFormatException이 발생했습니다. 변환된 문자열에 영문자가 포함되어 있어 정수로 변환할 수 없기 때문입니다.

Java에서 문자열을 Int로 변환하는 방법성능 비교

System.nanoTime()을 사용하여 두 메소드의 실행 시간 차이를 확인할 수 있습니다

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);
}
로그인 후 복사

이 중 Interval1과 Interval2의 값은 각각 이전 시스템 시간의 차이를 나타냅니다. 두 메소드를 실행한 후 단위는 나노초입니다. 여러 번 실행한 후에는 Integer.valueOf(String) 메소드의 실행 시간이 Integer.parseInt(String) 메소드보다 짧은 것을 알 수 있습니다. 성능이 더 좋아요

위 내용은 Java에서 문자열을 Int로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿