Objects 클래스
Objects 클래스는 추가된 클래스로 객체 관련 메서드들을 제공한다.
기존 Object클래스를 보완하는 역할을 하는데 이에는 객체의 비교, 해시코드생성, null체크 등이 있다.
https://standout.tistory.com/1195
equals(Object a, Object b)
기존 equals()와 비교하면 약간 다른데 특히 null에 대한 안전한 비교를 수행해 에러의 확률이 낮다.
Objects.equals("hello", "hello"); // true
Objects.equals("hello", "world"); // false
Objects.equals(null, "world"); // false
https://standout.tistory.com/191
deepEquals(Object a, Object b)
배열이나 다차원의 배열등의 내용도 재귀적으로 검사할 수 있다.
Objects.deepEquals(new int[]{1, 2, 3}, new int[]{1, 2, 3}); // true
Objects.deepEquals(new int[]{1, 2, 3}, new int[]{3, 2, 1}); // false
hashCode(Object o)
hashCode또한 null에 대한 안전한 비교를 수행해 에러의 확률이 낮다.
Objects.hashCode("hello"); // 문자열 "hello"의 해시 코드
https://standout.tistory.com/178
isNull(Object obj) null인지 확인하거나, nonNull(Object obj) null이 아닌지를 확인하거나
requireNonNull(T obj) null일경우에 NullPointerException도 발생할 수 있다.
Objects.isNull(null); // true
Objects.isNull("hello"); // false
Objects.nonNull(null); // false
Objects.nonNull("hello"); // true
Objects.requireNonNull("hello"); // "hello"
Objects.requireNonNull(null, "Object cannot be null"); // NullPointerException with specified message
'JAVA' 카테고리의 다른 글
java.util.Scanner 입력소스를 읽다 (0) | 2023.12.26 |
---|---|
java.util.Random 클래스 (0) | 2023.12.22 |
StrictMath 클래스와 Math클래스 (0) | 2023.12.22 |
수학계산 메서드 모음집, Math클래스 (0) | 2023.12.22 |
ajax 검색기능 구현하기 (0) | 2023.12.22 |