Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 인텔리제이
- 11659
- 자바
- 프로그래머스
- 코드스테이츠
- 백준 11659
- 코딩테스트
- 클라우드에서 도커 실행하기
- 재귀와반복문
- GCP
- Spring MVC 동작원리
- MySQL
- 버블정렬
- 싱글톤패턴
- 백준
- 스택
- 투포인터알고리즘
- Spring MVC 구성요소
- Spring Web MVC
- List.of
- 성능테스트툴
- Array.asList
- 코드스테이츠 백엔드
- OOP
- vm인스턴스생성
- String.valueOf()
- 알고리즘
- 재귀함수
- 구간합구하기
- java
Archives
- Today
- Total
순간을 기록으로
[Java] parseInt vs ValueOf의 차이 본문
안녕하세요 luminous13입니다. 오늘은 parseInt()와 valueOf()의 차이점에 대해 알아보겠습니다.
문자열을 숫자로 형변환을 할 때 우리는 2가지 방법을 사용할 수 있습니다.예시를 들면 아래와 같습니다.
String str = "123";
int num1 = Integer.parseInt(str);
int num2 = Integer.valueOf(str);
System.out.println("num1 = " + num1); // 123
System.out.println("num2 = " + num2); // 123
두 변환값 모두 출력값은 동일합니다. 그럼 무슨 차이가 있을까요?
1.parseInt(String s) - 반환형이 기본 자료형(primitive type)
public static int parseInt(String s) throws NumberFormatException {
return parseInt(s,10);
}
여러 Integer, Long, Double 타입 중 Integer를 예를 들어 설명하겠습니다.
parseInt는 반환형이 기본 자료형 타입입니다. 따라서 만약 반환형을 기본 자료형으로 하고 싶으면 parseInt를 사용하면 됩니다.
추가 정보로 그리고 parseInt는 오버로딩이 되어있는 메서드입니다. 뒤에 매개변수로 int radix가 추가로 있는 메서드가 있습니다. radix는 기수를 의미하고 기수는 다음과 같다.
- 123 = 1*10^2 + 2*10^1 + 3*10^0
- 여기서 10이 바로 기수입니다.
기본적으로 매개변수가 1개면 기수를 10으로 가정합니다.
Integer.valueOf("444",16); // 반환값: 1092
위의 코드를 식으로 해석하자면 다음과 같습니다.
- 4*16^2 + 4*16^1 + 4*16^0 = 1092
2.valueOf() - 반환형이 객체타입
public static Integer valueOf(String s) throws NumberFormatException {
return Integer.valueOf(parseInt(s, 10));
}
valueOf는 반환형이 객체 타입입니다. Integer.valueof()의 경우 반환형이 Integer 이죠.
만약 Wrapper 클래스를 반환하고 싶으면 valueOf를 사용하면 됩니다.
valueOf도 parseInt와 마찬가지로 오버로딩이 되어있습니다. 그리고 내용은 위와 동일합니다.
'Development > JAVA' 카테고리의 다른 글
[Java] Arrays.asList와 List.of 차이점 (0) | 2022.06.28 |
---|---|
[Java] toString() vs valueOf() 차이 (2) | 2022.05.31 |
[Java] 다형성(polymorphism) (0) | 2022.05.16 |
[Java] - 상속(Inheitance), 캡슐화(Encapsulation) 질문들 (0) | 2022.05.12 |
[Java] 객체 지향 프로그래밍 질문들 (0) | 2022.05.11 |
Comments