人生最曼妙的风景,竟是内心的淡定与从容!
큰따옴표를 사용하여 생성된 동일한 내용의 문자열은 모두 동일한 참조를 가리킵니다. new String에서 나오는 것은 새로운 객체입니다. 이것이 바로 new String<pre>
$java StringEqualsTest truefalse$java StringEqualsTest
$java StringEqualsTest truefalse
String은 기본 데이터형이 아니기 때문에 ==를 사용하는 것이 비교를 위한 메모리 주소입니다.
인터넷에는 Java의 == 및 equals()에 대한 소개가 많이 있습니다. 몇 가지 기사를 찾아보면 이 문제를 표면적으로는 매우 간단하게 이해할 수 있을 것입니다. 계속해서 깊이.
원본 포스터를 통해 먼저 참조비교와 가치비교를 이해할 수 있습니다
Java에서 ==는 숫자 유형만 결정할 수 없나요? 답변: 아니요, ==기본 데이터 유형(숫자 유형)과 객체를 결정할 수 있습니다.
==
== 리터럴 값 비교문자열은 참조 유형이며 설정된 문자열은 메모리에서 변경할 수 없습니다. s는 "" 문자열의 메모리 주소를 참조하며 동일한 주소는 자연스럽게 동일한 것을 비교합니다
큰따옴표를 사용하여 생성된 동일한 내용의 문자열은 모두 동일한 참조를 가리킵니다. new String에서 나오는 것은 새로운 객체입니다. 이것이 바로 new String
을 피하려고 노력해야 하는 이유입니다. 으아악<pre>
truefalse
$java StringEqualsTest$java StringEqualsTest
true
false
String은 기본 데이터형이 아니기 때문에 ==를 사용하는 것이 비교를 위한 메모리 주소입니다.
인터넷에는 Java의 == 및 equals()에 대한 소개가 많이 있습니다. 몇 가지 기사를 찾아보면 이 문제를 표면적으로는 매우 간단하게 이해할 수 있을 것입니다. 계속해서 깊이.
원본 포스터를 통해 먼저 참조비교와 가치비교를 이해할 수 있습니다
Java에서 ==는 숫자 유형만 결정할 수 없나요?
답변: 아니요,
==
기본 데이터 유형(숫자 유형)과 객체를 결정할 수 있습니다.== 리터럴 값 비교
문자열은 참조 유형이며 설정된 문자열은 메모리에서 변경할 수 없습니다. s는 "" 문자열의 메모리 주소를 참조하며 동일한 주소는 자연스럽게 동일한 것을 비교합니다