>Java >java지도 시간 >문자열_문자열

문자열_문자열

(*-*)浩
(*-*)浩앞으로
2019-09-28 16:53:592183검색

문자열_문자열

불변 문자열

문자열 객체는 불변입니다. JVM은 이를 최적화하고 문자열 상수 풀로 메모리 영역을 열었습니다. "리터럴" 형식으로 생성된 문자열 개체는 캐시되고 재사용됩니다.

//"字面量"形式创建的字符串
String str = "abc";

문자열 연산자: "+" 및 StringBuilder

연산자 "+"는 문자열 문자열을 연결할 수 있습니다. 컴파일러에는 최적화 수단이 있습니다. 소스 코드를 컴파일할 때 계산 표현식의 모든 매개변수가 리터럴이며 직접 계산되어 결과가 클래스 파일로 컴파일됩니다.

String str = "abcd";
String str1 = "ab"+"cd";//输出abcd 对象不变
System.out.println(str==str1);//true

계산 표현식의 한쪽이 변수인 경우 컴파일러는 런타임 중에 이를 결합하여 최종적으로 새 객체를 생성하므로 성능이 소모됩니다.

String str = "abcd";
String str1 = "ab";
String str2 = str1+"cd";//输出abcd 对象改变
	System.out.println(str==str2);//false

StringBuilder

컴파일러는 또한 컴파일 중에 접합을 위해 StringBuilder의 추가() 메서드를 자동으로 참조하고 마지막으로 toString()을 호출하여 결과를 생성합니다. 그러나 .calss 바이트코드의 각 접합 루프는 StringBuilder 객체를 생성합니다. 문자열 작업이 복잡한 경우 .java 파일을 작성할 때 접합을 위한 StringBuilder 객체를 생성합니다.

String의 일반적인 메서드

문자열_문자열

위 내용은 문자열_문자열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제