먼저 예를 살펴 보겠습니다.
코드 사본은 다음과 같습니다.
패키지 com.amos;
/**
* @ClassName : EqualTest
* @description : Java에서 평등과 ==의 비교
* @Author : Amosli
*/
공개 클래스 평등 테스트 {
public static void main (String [] args) {
int a = 1;
플로트 B = 1.0F;
System.out.println (a == b); // true
문자열 c = 새 문자열 ( "hi_amos");
문자열 d = 새 문자열 ( "hi_amos");
System.out.println (c == d); // false
System.out.println (c.equals (d)); // true
}
}
Java에서 두 변수가 동일인지 판단하는 두 가지 주요 방법이 있습니다. 하나는 == 연산자를 사용하고 다른 하나는 Equals 메소드를 사용하여 두 가지가 동일한 지 여부를 결정하는 것입니다.
1) 두 변수는 동일하며 True가 반환됩니다.
2).
위에서 언급 한 바와 같이, 동일한 새 문자열이 설명되면 == 동일한 반환이 False가 False인지 결정하고, Equals는 true를 반환합니다.
STRING 클래스는 Equals 메소드를 대상으로 한 소스 코드를 확인하면 다음 소스 코드에 표시된대로 Equals가 특별한 경우에만 간주 될 수 있습니다.
코드 사본은 다음과 같습니다.
공개 부울 평등 (Object anobject) {
if (this == anobject) {
진실을 반환하십시오.
}
if (anobject instancef String) {
문자열 anotherstring = (문자열) anobject;
int n = value.length;
if (n == anotherstring.value.length) {
char v1 [] = 값;
char v2 [] = anotherstring.value;
int i = 0;
while (n-! = 0) {
if (v1 [i]! = v2 [i])
거짓을 반환합니다.
i ++;
}
진실을 반환하십시오.
}
}
거짓을 반환합니다.
}
Equals 메소드는 실제로 처음부터 == 판별 공식을 호출 한 다음 추가 값이 올바른지 여부를 결정합니다.