Number 클래스는 Abstract 클래스로, 다음 클래스들은 Number 클래스를 상속합니다.
- Short
- Integer
- Long
- Float
- Double
- Byte
Number 클래스는 다음 메소드들을 Abstract로 정의하고, Number를 상속하는 클래스들은 이 메소드들을 구현합니다.
- int intValue()
- short shortValue()
- long longValue()
- float floatValue()
- double doubleValue()
- byte byteValue()
이 메소드들은 Long, Double 등이 갖고 있는 value를 primitive type으로 변환하는 역할을 합니다. 예를 들어, intValue()
는 Number가 갖고 있는 value를 int
타입으로 변환하여 리턴합니다.
예제
다음과 같이 Integer 객체를 doubleValue()
, floatValue()
등의 메소드를 호출하여 primitive type으로 변환할 수 있습니다.
Integer intValue = Integer.valueOf(1234);
double doubleValue = intValue.doubleValue();
double floatValue = intValue.floatValue();
System.out.println("double value: " + doubleValue);
System.out.println("float value: " + floatValue);
Output:
double value: 1234.0
float value: 1234.0
Double 객체 또한 intValue()
, shortValue()
으로 primitive type으로 변환할 수 있습니다. 실수에서 정수로 변환되기 때문에 정수 외의 소수는 버려집니다.
Double doubleValue = Double.valueOf(123.456);
int intValue = doubleValue.intValue();
short shortValue = doubleValue.shortValue();
long longValue = doubleValue.longValue();
System.out.println("integer value: " + intValue);
System.out.println("short value: " + shortValue);
System.out.println("long value: " + longValue);
Output:
integer value: 123
short value: 123
long value: 123
Recommended Posts:
- Java - Locale 클래스
- Java - split()으로 문자열을 자르기
- Java - substring()으로 문자열을 자르기
- Java - List와 Set의 차이점
- Java - forEach 사용 방법
- Java - Thread.join()
- Java - getPath(), getAbsolutePath(), getCanonicalPath()
- Java - Timer, TimerTask
- Java - printf()로 문자열 포맷 출력
- Java - Float을 Byte 배열로 변환, Byte배열을 float으로 변환
- Java - 변수의 유효 범위 (Variable Scope)
- Java - instanceOf 연산자
- Java - Method Signature