728x90
자바 공식 문서에서 Object 메소드에 equals와 toString이 있다.
public String toString()
- 모든 Wrapper 클래스는 객체를 문자열로 변환하는 toString() 메소드를 가지고 있음
Integer i = Integer.valueOf(11);
1) System.out.println( i.toString() );
2) System.out.println(i);
1)과 2)의 결과값은 같다.
public boolean equals(Object o)
- 객체 내부의 값을 비교함
Integer x1 = 6;
Integer x2 = 7;
Integer y1 = 6;
int y2 = 6;
System.out.println(x1.equals(x2)); //false
System.out.println(x2.equals(y1)); //flase
System.out.println(x1.equals(y1)); //true
System.out.println(y1.equals(y2)); //true
y1과 y2를 비교할 때, 값은 같고 타입이 int와 Integer로 다르지만 true가 나온 이유는 Auto Boxing/Auto Unboxing이 이뤄졌기 때문이다.
Integer가 필요한 곳에 int가 들어가면 Integer로 변하는 Auto Boxing
int가 필요한 곳에 Integer가 들어가면 int로 Auto Unboxing
728x90
'Java' 카테고리의 다른 글
==와 equals의 차이 (0) | 2021.05.25 |
---|---|
String Operator '+' 의 작동 원리(2022.03.24 수정) Java 9 (0) | 2021.05.25 |
(TYPE) type -> String , String -> type(TYPE) (0) | 2021.05.24 |
Comparator & Comparable (0) | 2021.04.05 |
컬렉션 프레임워크 : Queue, Deque (0) | 2021.04.04 |