Java Java시작하기 같음과 ==의 차이점을 자세히 설명하세요.

같음과 ==의 차이점을 자세히 설명하세요.

Sep 28, 2020 pm 04:17 PM
== equals

같음과 ==의 차이점을 자세히 설명하세요.

먼저 JVM의 메모리 할당 지식을 소개하겠습니다.

(추천 튜토리얼: java 강좌)

JVM에서는 메모리가 힙 메모리와 스택 메모리로 구분됩니다. 이들 사이의 차이점은 객체(새 객체)를 생성할 때 객체의 생성자가 호출되어 공간을 열고 객체 데이터를 힙 메모리에 저장하며 동시에 스택 메모리에 해당 참조를 생성한다는 것입니다. 후속 코드에서 이를 호출할 때 스택 메모리의 참조를 사용합니다. 또 한 가지 주목할 점은 기본 데이터 유형이 스택 메모리에 저장된다는 것입니다.

equal과 ==의 차이점에 대한 초기 이해:

==는 두 변수나 인스턴스가 동일한 메모리 공간을 가리키는지 여부를 확인하는 것이고, 같음은 가 가리키는 메모리 공간의 값이 가리키는지 여부를 확인하는 것입니다. 두 개의 변수 또는 인스턴스가 동일합니다. ==는 메모리 주소를 비교하는 것을 나타내고, equals()는 문자열의 내용을 비교합니다. ==는 참조가 동일한지 여부를 나타내며, equals()는 값이 동일한지 여부를 나타냅니다.

그림을 사용하여 둘 사이의 관계를 간략하게 보여줍니다.

같음과 ==의 차이점을 자세히 설명하세요.

테스트:

같음과 ==의 차이점을 자세히 설명하세요.

같음과 ==의 차이점에 대한 자세한 설명:

== 비교는 변수(스택)에 있습니다. memory 저장된 객체의 (힙) 메모리 주소는 두 객체의 주소가 동일한지, 즉 동일한 객체를 참조하는지 여부를 확인하는 데 사용됩니다. 비교되는 것은 실제 포인터 연산이다. equals는 두 객체의 내용이 동일한지 비교하는 데 사용됩니다. 모든 클래스는 java.lang.Object 클래스에서 상속되므로 이 메서드를 재정의하지 않으면 호출은 여전히 ​​Object 메서드입니다. 하지만 Object의 equals 메소드는 == 판단을 반환합니다.

String s="abcd"는 매우 특별한 형식으로, 본질적으로 new와 다릅니다. 이는 Java에서 new 없이 객체를 생성할 수 있는 유일한 방법입니다. String s="abcd" 형식의 할당은 Java에서 직접 변수라고 합니다. new와 같이 압축된 힙이 아닌 상수 풀에 있습니다.

이 형식의 문자열은 JVM 내부에 보관됩니다. 즉, 이러한 문자열을 선언한 후 JVM은 먼저 상수 풀에서 검색하여 "abcd" 값을 가진 개체가 있는지 확인합니다. 즉, 원래 참조와 현재 참조 지점이 동일한 객체에 할당됩니다. 그렇지 않은 경우 다음 번에 String s1 = "abcd"가 있으면 새 "abcd"가 생성됩니다. "; 다시 s1이 "abcd" 개체, 즉 이 형식으로 선언된 문자열을 가리킵니다. 값이 동일한 한 여러 참조는 동일한 개체를 가리킵니다.

그리고 String s = new String("abcd");는 다른 객체와 동일합니다. 호출되는 한 객체는 호출될 때마다 생성됩니다. 다음과 같이 이해할 수도 있습니다. String str = "hello"; 먼저 메모리에 "hello" 개체가 있는지 확인합니다. 그렇다면 str이 해당 "hello"를 가리킵니다.

메모리에 "hello"가 없으면 "hello"를 저장하기 위해 새 객체를 생성합니다. String str=new 문자열("hello")은 "hello" 객체가 메모리에 이미 존재하는지 여부에 관계없이 생성한다는 의미입니다. "hello"를 저장할 새 개체입니다.

테스트:

같음과 ==의 차이점을 자세히 설명하세요.

관련 권장 사항: Java 시작하기

위 내용은 같음과 ==의 차이점을 자세히 설명하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)