java 프로그래밍 사상 제4판 (오점 정리)
1150 단어 java 프로그래밍 사상
잘못된 점이 있으면 댓글이나 +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 정태를 실행하고 클래스가 불러올 때 한 번만 실행하며 부모 클래스와 하위 클래스
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: