java 프로그래밍 사상 제4판 (오점 정리)

오늘 자바 프로그래밍 사상을 보니 어떤 지식은 자신이 예전에 배운 것과 다르다는 것을 발견하여 나중에 복습할 수 있도록 기록하였다.
잘못된 점이 있으면 댓글이나 +qq가 저에게 714588944라고 하는 것을 환영합니다.
계속 업데이트~~
1. 내가 지금까지 잘못된 관점을 먼저 고친다. == 비교 대상의 주소이고 equals()는 기본적으로 비교 대상의 주소이다.
Integer a = new Integer(55);
Integer b = new Integer(55);
System.out.println(a.equals(b));

결과는true입니다. 왜냐하면 여기 포장류 Integer가 equals ()를 다시 쓰는 것을 도와주었기 때문입니다.그래서 여기 a.equals(b)를 비교한 건 a와 b의 내용이에요.
그러나 일은 그리 간단하지 않다. 자신의 클래스를 만들었다고 가정하면 다음과 같다.
public static void main(String[] args) throws Exception { Dog dog1 = new Dog(); Dog dog2 = new Dog(); dog1.name = "yang"; dog2.name = "yang"; System.out.println(dog1.equals(dog2));}
답은false입니다. 여기 equals가 비교한 것은 주소입니다. 내용이 아닙니다. 이 종류는 자신이 정의한 것이기 때문에 equals를 다시 쓰는 방법이 없습니다. equals가 기본적으로 비교한 것은 주소입니다.
2. Math.round는 숫자에 0.5를 더해서 아래로 전환한다(일반적으로 반올림)
System.out.println(Math.round(5.5));//6System.out.println(Math.round(-5.5));//-5System.out.println(Math.round(-5.6));//-6System.out.println(Math.round(-5.2));//-5System.out.println(Math.round(-5.8));//-6
3. 초기화 순서, 먼저 static 정태를 실행하고 클래스가 불러올 때 한 번만 실행하며 부모 클래스와 하위 클래스

좋은 웹페이지 즐겨찾기