jls에 설명 된 변환이 우선 순위에 따라 정렬된다고 가정합니다. 우선 greate 우선 순위가 있습니다. primitive == 래퍼는 원시 == 원시 또는 래퍼 == 래퍼로 변환합니까?
따라서 I는Boxing
가
Unboxing
보다 큰 우선 순위를 갖는 것으로 해결. 나는이 가정을 점검하기로 결정했다.
연구 다음 코드를
public class BoxingUnboxingPriority {
public static void main(String [] args){
int sn = 1000;
Integer isn1= new Integer(sn);
System.out.println(sn == isn1);
}
}
아웃 :
true
복싱은 무엇입니까?
false
new Integer(primitiveInt)
내가 코드를 밖으로
int sn = 1000;
Integer isn1= new Integer(sn);
Integer isn2= new Integer(sn);
System.out.println(isn1 == isn2);
약간 변경됩니다.
이 문제를 알려주십시오.
'=='대신'.equals'를 사용하여 객체를 비교하십시오. '=='는 ** 같은 객체 **인지를 검사합니다. ** 같은 객체 **는 둘 다 생성하기 위해'new'를 사용했던 것과 다릅니다. '.equals'는 같은 숫자를 나타 내기 때문에'true'를 반환합니다. – JonK
@Andremoniy там вообще не про джаву даже! – gstackoverflow
@JonK 테스트에서 질문입니다 – gstackoverflow