자바 기초:String 류 의 흔 한 면접 문제 모음
6417 단어 문자열String 클래스문자자바 기반
String s1 = " abc ";
String s2 = " abc ";
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
결과:true true
지식 점
내용.
==
"같 음",자바 에서 기본 데이터 형식 이 라면==그 값 이 같 는 지 비교 합 니 다.만약 인용 데이터 형식 이 라면 메모리 에 저 장 된 주소 가 같 는 지 비교 합 니 다.똑 같이 true 로 돌아 가면 반대로 false 입 니 다.
equals
자바 의 모든 클래스 는 Object 라 는 초 클래스 에 계승 되 었 습 니 다.Object 에서 equals 방법 을 정 의 했 습 니 다.이 초기 행 위 는 대상 의 메모리 주 소 를 비교 하 는 것 이지 만 일부 라 이브 러 리 에서 이 방법 은 덮어 졌 습 니 다.예 를 들 어 String,Integer,Date 는 이러한 클래스 에서 equals 가 자 생 적 으로 실현 되 었 고 더 이상 쌓 여 있 는 저장 주소 가 아 닙 니 다.String 클래스 에서 equals 는 대상 의 내용(문자 시퀀스)이 같은 지 비교 합 니 다.
2.다음 이 말 은 메모리 에 몇 개의 대상 을 만 들 었 습 니까?
String s1 = new String(" abc ");
결과:두 대상
지식 점
내용.
public String( String original )
상수 탱크 에 우선"abc"문자열 파 라 메 터 를 만 듭 니 다.메모리 에 만 든 문자열 파 라 메 터 는 상수 탱크 의 사본 입 니 다.주소 값 은 참조 s1 을 가리 키 고 있 습 니 다.
3.String 형식 으로 정 의 된 s1 과 s2 가 동일 한 지 판단 합 니까?
String s1 = new String( "abc" );
String s2 = " abc ";
System.out.println( s1 == s2 );
System.out.println( s1.equals( s2 ));
결과:false true
문제 에서 s1 은 메모리 의 주소 값 을 가리 키 고 s2 는 상수 탱크 의 주소 값 을 가리킨다.4.String 형식 으로 정 의 된 s1 과 s2 가 동일 한 지 판단 합 니 다
String s1 = "a" + " b " + " c ";
String s2 = " abc ";
System.out.println( s1 == s2 );
System.out.println(s1.equals( s2 ));
결과:true true
지식 점
내용.
상수 최적화 메커니즘
자바 컴 파일 러 는 상수 최적화 체 제 를 가지 고 있 습 니 다.문제 에서'abc'는 문자열 상수 입 니 다.예 를 들 어 비슷 한 면접 문제 byte b1=3;byte b2 = 4; byte b3 = b1 + b2; byte b4 = 3 + 4; b3 오류,b4 정확.
5.String 형식 으로 정 의 된 s1 과 s2 가 동일 한 지 판단 합 니까?
String s1 = " ab ";
String s2 = " abc ";
String s3 = s1 + " c ";
System.out.println( s3 == s2 );
System.out.println( s1.eaquals( s2 ));
결과:false true
s1+"s2"에서 s1 은 문자열 변수 에 해당 하 며 직접 추가 할 수 없습니다.자바 언어 는 문자열 직렬 기호("+")와 다른 대상 을 문자열 로 변환 하 는 특수 한 지원 을 제공 합 니 다.문자열 직렬 연결 은 StringBuilder(또는 StringBuffer)클래스 와 append 방법 을 통 해 이 루어 집 니 다.문자열 변환 은 toString 방법 을 통 해 이 루어 집 니 다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
비슷한 이름의 Attribute를 많이 만들어 삭제하는 Houdini사용 소프트웨어는 Houdini16.5입니다 배열에서는 애트리뷰트의 보간이 잘 동작하지 않는 것과 AttributeCreateSOP 노드에서 Size가 4를 넘는 애트리뷰트를 작성해도 값이 조작할 수 없어 의미가 없...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.