Integer o1= 1000;
Integer o2= 1000;
System.out.println(Objects.equals(o1,o2));
System.out.println(Objects.equals(o1,null));
System.out.println(Objects.equals(null,o2));
System.out.println(Objects.deepEquals(o1,o2)+"\n");

Integer[] arr1={1,2};
Integer[] arr2={1,2};
System.out.println(Objects.equals(arr1,arr2));
System.out.println(Objects.deepEquals(arr1,arr2));
System.out.println(Arrays.deepEquals(arr1,arr2));
System.out.println(Objects.deepEquals(null,arr2));
System.out.println(Objects.deepEquals(arr1,null));
System.out.println(Objects.deepEquals(null,null));

true

false

false

true


false

true

true

false

false

true



10번째 줄은 1과2의 내용값(1000)을 비교해서 true
11번째는 1과null을 비교하면 false

12번째는 null과2를 비교하면 false

13번째는 왜 쌤쌤인지 잘 모르겠음 Deep이면 뭐가 달라지는지

17번째는 뭘 비교하는지 모르겠음 왜 false임?

18번째는 안 내용을 비교해서 true인거 같은데 정확하게 모르겠음

19번째는 얘도 사실 모르겠음 Arrays랑 Objects랑 뭐가 다른지 그리고 어떨때에 어떤것을 쓰는게 좋은지 이런거 모르겠음 아 ㅋㅋ

20 21번째는 null이 있어서 false인거 같음

22번째는 둘다 null이여서 true 인듯

결론 Objects.equals가 어떨때는 내용을 확인하는것 같고 어떨때는 다른걸 확인하는것 같은데 그 어떨때가 언제인지 잘 모르겠음.

또한 굳이 저렇게 Objects.equals를 필요로 할때? 굳이 그냥 o1.equals(o2)로 안하고... 뭐가 다른지...?

Objects.deepEquals와 Arrays.deepEquals의 차이?도 모르겠음 ㅠㅜㅠㅠㅡㅠㅜㅠㅜㅠㅜㅠㅡㅠㅜㅠㅜ