"=="과 "equals()"의 차이점 탐색
개괄하다
"=="은 무엇입니까?
}
public class EqualsTest {
public static void main(String[] args) {
// :int、float、double、boolean、char
char ch1 = 'a';
char ch2 = 'a';
System.out.println("char :" + (ch1==ch2));
int i1 = 100;
int i2 = 100;
System.out.println("int :" + (i1==i2));
//
String str1 = new String("liaoshaoshao");
String str2 = new String("liaoshaoshao");
String str3 = str2;
System.out.println(" new :" + (str1==str2));
System.out.println(" :" + (str3==str2));
//
AnotherClass ac1 = new AnotherClass();
AnotherClass ac2 = new AnotherClass();
AnotherClass ac3 = ac2;
System.out.println(" new :" + (ac1==ac2));
System.out.println(" :" + (ac3==ac2));
}
}
컨트롤러 출력:char 비교 결과:true int 비교 결과:true 두 new에서 나온 문자열 비교 결과:false 부수에서 나온 문자열 비교 결과:true 두 new에서 나온 대상 비교 결과:false 부수에서 나온 대상 비교 결과:trueequals()는 무엇입니까?
인용: 공식 API 문서에서 Object 클래스의 equals () 에 대한 설명:public boolean equals (Object obj) 는 다른 대상이 이 대상과 같은지 여부를 표시합니다.equals 방법은 비공식 대상 인용에서 상등한 관계를 실현한다. - 자반성: 비공식 인용 값 x에 대해 x.equals(x)는true로 되돌아와야 한다.대칭성: 비공식 인용값 x와 y에 대해 y.equals(x)가true로 되돌아갈 때만 x.equals(y)가true로 되돌아와야 한다.전달성: 비공식 인용값인 x, y,z에 대해 x.equals(y)가true로 되돌아오고 y.equals(z)가true로 되돌아오면 x.equals(z)는true로 되돌아와야 한다.일치성: 비공식 인용값 x와 y에 대해 x.equals(y)를 여러 번 호출하여true로 되돌려주거나false로 되돌려줍니다. 전제는 대상의 equals 비교에 사용된 정보가 수정되지 않았다는 것입니다. -비공식 인용값 x에 대해 x.equals (null) 는false로 되돌아와야 합니다.Object 클래스의 equals 방법은 대상의 차별 가능성이 가장 큰 상등 관계를 실현한다.즉, 비공식 참조 값 x와 y에 대해 x와 y가 같은 대상을 인용할 때만 이 방법은true(x=y 값true)를 되돌려줍니다.주의: 이 방법이 다시 쓰일 때, 보통 hashCode 방법을 다시 써서,hashCode 방법의 일반적인 협정을 유지할 필요가 있으며, 이 협정은 같은 대상이 똑같은 해시 코드를 가지고 있어야 한다.
return false
만 실행한다.조건이 충족되면 String 유형으로 강제로 변환합니다.요약:
참조 읽기:https://www.zhihu.com/question/26872848
학생 한 사람으로서 착오를 면하기 어려우니 여러분께서 고쳐 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.