-
[Java] Integer.parseInt() vs Integer.valueOf()Java 2022. 3. 20. 23:01728x90
Java에서 String을 숫자로 변형할 때 Integer.parseInt()와 Integer.valueOf() 메서드를 활용합니다.
두 메서드는 어떤 차이가 있을까요?
parseInt vs valueOf 차이점
1. Integer.valueOf()는 Integer객체를 반환하고 Integer.parseInt()는 기본형 int 타입을 반환합니다.
parseInt() : 원시데이터인 int 타입을 반환
valueOf() : Integer 래퍼 객체를 반환
Java 1.5 에서 Autoboxing과 Unboxing이 도입된 이후로 차이는 거의 없을 것이라고 관련 자료에서는 말하고 있습니다.
https://www.javainterviewpoint.com/java-autoboxing-and-unboxing-examples/
2. String과 Integer 모두 integer.valueOf() 에 매개변수를 전달할 수 있지만 Integer.parseInt()는 String만 매개변수로 전달할 수 있습니다.
class Test3 { public static void main(String args[]) { int val = 99; try { // It can take int as a parameter int str1 = Integer.valueOf(val); System.out.print(str1); // It cannot take an int as a parameter // Hence will throw an exception int str = Integer.parseInt(val); System.out.print(str); } catch (Exception e) { System.out.print(e); } } } prog.java:18: error: incompatible types: int cannot be converted to String int str = Integer.parseInt(val); ^ 1 error
3. Integer.valueOf()는 char를 매개변수로 사용할 수 있으며 유니코드 값을 반환하는 반면에 Integer.parseInt()는 문자를 매개변수로 전달할 때 오류를 생성합니다.
// Program to test the method // when a character is passed as a parameter class Test3 { public static void main(String args[]) { char val = 'A'; try { // It can take char as a parameter int str1 = Integer.valueOf(val); System.out.print(str1); // It cannot take char as a parameter // Hence will throw an exception int str = Integer.parseInt(val); System.out.print(str); } catch (Exception e) { System.out.print(e); } } } prog.java:18: error: incompatible types: char cannot be converted to String int str = Integer.parseInt(val); ^ 1 error
Integer.parseInt 와 Integer.valueof의 사용법
class Test1 { public static void main(String args[]) { String s = "77"; // Primitive int is returned int str = Integer.parseInt(s); System.out.print(str); // Integer object is returned int str1 = Integer.valueOf(s); System.out.print(str1); } }
출처
https://m.blog.naver.com/sthwin/221000179980
https://www.geeksforgeeks.org/integer-valueof-vs-integer-parseint-with-examples/
'Java' 카테고리의 다른 글
[Java] 리플렉션이란? (0) 2022.04.07 [Java] 직렬화(Seralize)란? (0) 2022.03.24 [Java] try-catch와 try-with-recources (0) 2022.03.13 [Java] Collections.sort () VS Arrays.sort() (0) 2022.03.10 [Java] BufferedWriter vs println 속도분석 (0) 2022.03.04