-
[자바(JAVA)] 문자열로 변환/ valueOf()와 perse()의 공통점과 차이점프로그래머스/자바(JAVA) 2023. 8. 21. 00:40728x90
https://school.programmers.co.kr/learn/courses/30/lessons/181845
✅ 내 풀이
class Solution { public String solution(int n) { String answer = String.valueOf(n); return answer; } }
이 문제는 단순한 형태지만 이전부터 궁금했던 valueOf()와 perse()의 공통점과 차이점을 알아보려고 한다.
이 두 메서드는 다른 클래스에서 제공되며, 각각의 특징과 사용 가능한 자료형의 형태가 다르기 때문에 아래에 공통점과 차이점을 정리해보았다.
① 공통점:
주로 문자열을 숫자 또는 다른 데이터 타입으로 변환하는 데 사용됩니다.변환 중에 숫자 형식이 아닌 문자열을 처리하려고 하면 예외가 발생할 수 있습니다.👉 숫자를 문자열로 변경하는것도 가능함
② 차이점:
1. valueOf() 메서드:
valueOf() 메서드는 주로 래퍼 클래스들에서 제공됩니다. (Integer, Double, Float, Long 등)
반환 타입은 해당 래퍼 클래스 객체입니다.
반환된 객체는 auto-unboxing에 의해 원시 타입으로 사용될 수 있습니다.
소수점까지 포함하는 실수의 경우도 변환이 가능합니다.
2. parse() 메서드:
parse 접두사가 있는 메서드들은 대부분 Number 클래스의 하위 클래스에서 제공됩니다.
(Integer, Double, Float, Long 등)
반환 타입은 주로 해당 원시 타입입니다.
정수나 실수 형태의 숫자만 변환 가능하며, 소수점을 가진 실수는 처리하지 않습니다.👉 parse() 메서드로 숫자 타입이 아닌 다른 데이터 타입이나 문자(char)로 변환하는 데에는 parse() 메서드를 사용하는 것은 일반적이지 않다.
🌟 각 메서드별로 사용 가능한 자료형의 형태예시:
valueOf() 메서드:
Integer.valueOf(String str): Integer 래퍼 클래스에서 사용 가능.
Double.valueOf(String str): Double 래퍼 클래스에서 사용 가능.
Float.valueOf(String str): Float 래퍼 클래스에서 사용 가능.
Long.valueOf(String str): Long 래퍼 클래스에서 사용 가능.
Short.valueOf(String str): Short 래퍼 클래스에서 사용 가능.
Byte.valueOf(String str): Byte 래퍼 클래스에서 사용 가능.
parse() 메서드:
Integer.parseInt(String str): 정수(int)로 변환 가능.
Double.parseDouble(String str): 부동소수점(double)으로 변환 가능.
Float.parseFloat(String str): 부동소수점(float)으로 변환 가능.
Long.parseLong(String str): 정수(long)로 변환 가능.
Short.parseShort(String str): 정수(short)로 변환 가능.
Byte.parseByte(String str): 정수(byte)로 변환 가능.이외에도 BigInteger와 BigDecimal과 같은 다른 클래스에서도 parse 메서드들을 사용하여 숫자를 문자열로 변환할 수 있다.
✅ 다른 풀이
class Solution { public String solution(int n) { String answer = "" + n; return answer; } }
이렇게 간단한 코드로도 변환이 가능하다.
728x90'프로그래머스 > 자바(JAVA)' 카테고리의 다른 글
[자바(JAVA)] 두 개 뽑아서 더하기 / HashSet, TreeSet (0) 2023.08.28 [자바(JAVA)] 크기가 작은 부분문자열- 런타임오류 (0) 2023.08.21 [자바(JAVA)] 정수 내림차순으로 배치하기. PriorityQueue<Long> (0) 2023.08.18 [자바(JAVA)] 문자열 뒤집기, StringBuilder, setCharAt(index, newChar) (0) 2023.08.16 [자바(JAVA)] 수열과 구간 쿼리 3 / ArrayList<>(), Collections.swap() (0) 2023.08.15