매일 10 분 16 의 자바 학습 노트
2292 단어 매일 10 분 씩 공부 해 요.자바 노트자바string
1. 문자열 상수 와 문자열 값 은 다음 코드 세그먼트 로 설명 합 니 다.
String name1 = "zhangsan";
String name2 = "zhangsan";
String name3 = new String("zhangsan");
String name4 = new String("zhangsan");
System.out.println(name1 == name2);
System.out.println(name1 == name3);
System.out.println(name3 == name4);
// true,false, false
분석: 자바 에서 효율 적 인 고려 를 위해 '' 에 포 함 된 문자열, 즉 문자열 상수 (String literal) 는 내용 이 같 으 면 (번호, 크기 가 같 으 면) 프로그램 코드 에 몇 번 나타 나 든 JVM 은 하나의 String 인 스 턴 스 만 만 만 들 고 문자열 풀 (String pool) 에서 유지 합 니 다.첫 번 째 결 과 는 true 입 니 다. name 1 을 새로 만 들 때 JVM 은 문자열 풀 에 String 인 스 턴 스 를 만들어 name 1 에 참고 하고 두 번 째 줄 은 name 2 가 문자열 풀 에 있 는 String 인 스 턴 스 를 직접 참고 하도록 하기 때 문 입 니 다.뒤의 false 에 대해 서 는 new 때 새로운 대상 을 만 들 었 기 때문에 name 3 과 name 4 는 모두 새로운 String 인 스 턴 스 를 참고 합 니 다.대상 의 실질 내용 이 같은 지 비교 하려 면 = = 을 사용 하지 말고 equals () 를 사용 하 십시오. 마찬가지 로 문자열 의 실제 문자 내용 이 같은 지 비교 하려 면 = = 을 사용 하지 말고 equals () 를 사용 하 십시오.
2. 가 변 적 이지 않 은 문자열 은 자바 에서 문자열 대상 이 만들어 지면 대상 의 내용 을 변경 할 수 없고 대상 에서 문자열 내용 을 변경 할 수 있 는 방법 이 없습니다.연결 문자열 을 + 로 구현 하 는 것 은 어떻게 이 루어 집 니까?예 를 들 면:
String name1 = “Java”;
String name2 = name1 +“World”;
System.out.println(name2);
위 프로그램 세 션 에 서 는 자바 월 드 를 표시 합 니 다. 문자열 내용 대상 을 바 꿀 수 없 기 때문에 name 1 에서 참고 한 문자열 대상 에 월 드 내용 을 직접 추가 하 는 것 이 아 닙 니 다.역 컴 파일 후 얻 을 수 있 습 니 다: + 연결 문자열 을 사용 하면 자바. lang. StringBulider 대상 을 만 들 고 append () 방법 으로 + 좌우 양쪽 문자열 을 추가 합 니 다. 마지막 으로 toString () 으로 변환 합 니 다.요약: 반복 적 인 장소 에서 순환 이나 재 귀 할 때 + 연결 문자열 을 사용 하지 마 십시오. 이 는 새로운 대상 이 자주 발생 하여 효능 에 부담 을 줄 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
IDEA 부트 오류: jvmtiError=AGENT_ERROR_TRANSPORT_LOAD(196)IDEA debug 시작 오류: 인터넷에서 방화벽을 개통하거나 닫아야 한다고 하는데 시도해 보면 안 된다.이것을 시험해 보세요. 당신project structure에 설정된 jdk 원본 경로를 변경하고 중국어 경로를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.