문자열 풀링은 각 개별 문자열 값의 단일 복사본이 저장되는 프로세스입니다. 그렇지 않으면 문자열은 변경할 수 없습니다. 이런 방식으로 문자열은 동일한 데이터를 포함하고 동일한 메모리를 공유할 수 있습니다. 이런 방식으로 필요한 메모리가 크게 줄어듭니다.
'인턴' 함수가 호출될 때:
두 문자열이 같은지 확인합니다. 즉, 문자열 개체가 문자열 상수 풀(SCP)에 존재하는지 여부를 확인합니다.
가능한 경우 문자열은 풀에서 가져와 반환됩니다. 그렇지 않으면 새 문자열 개체가 생성되어 풀에 추가됩니다. 문자열 객체에 대한 참조도 반환됩니다.
두 문자열 'a'와 'b'의 경우 a.intern() == b.intern()은 a.equals(b)가 true를 반환하는 경우에만 true입니다.
예를 살펴보겠습니다.
Demonstration
public class Demo{ public static void main(String[] args){ String s1 = new String("Its"); String s2 = s1.concat("sample"); String s3 = s2.intern(); System.out.println("Checking equality of object 2 and 3 :"); System.out.println(s2 == s3); String s4 = "Its a sample"; System.out.println("Checking equality of object 3 and 4 :"); System.out.println(s3 == s4); } }
Checking equality of object 2 and 3 : true Checking equality of object 3 and 4 : false
Demo라는 클래스에 주요 기능이 포함되어 있습니다. 여기에는 String 객체의 세 가지 인스턴스가 정의되어 있습니다. 여기서 두 번째 문자열은 첫 번째 문자열과 다른 값을 연결한 것입니다. 세 번째 문자열은 두 번째 문자열에서 'intern' 함수를 호출합니다. 이 문자열은 '==' 연산자를 사용하여 비교되고 결과가 콘솔에 표시됩니다.
위 내용은 Java에서는 문자열 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!