> Java > Java시작하기 > 일반적으로 사용되는 Java 클래스 String 클래스에 대한 자세한 소개

일반적으로 사용되는 Java 클래스 String 클래스에 대한 자세한 소개

王林
풀어 주다: 2020-07-14 16:44:21
앞으로
2645명이 탐색했습니다.

일반적으로 사용되는 Java 클래스 String 클래스에 대한 자세한 소개

일반적으로 사용되는 클래스 String

(추천 튜토리얼: Java 입문 튜토리얼)

String 클래스는 문자열을 나타냅니다. Java 프로그램의 모든 문자열 리터럴(예: "abc" )은 이 클래스의 인스턴스로 구현됩니다.

문자열은 상수이며 해당 값은 생성된 후에 변경할 수 없습니다. 문자열 버퍼는 변경 가능한 문자열을 지원합니다. String 객체는 불변이기 때문에 공유가 가능합니다.

String 소스 코드

public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
}
로그인 후 복사

String 멤버 변수

//String的属性值
private final char value[];
//数组被使用的开始位置
private final int offset;
//String中元素的个数
private final int count;
//String类型的hash值
private int hash; // Default to 0
private static final long serialVersionUID = -6849794470754667710L;
private static final ObjectStreamField[] serialPersistentFields =
  new ObjectStreamField[0];
로그인 후 복사

소스 코드를 보면 String의 맨 아래 레이어가 문자 배열을 사용하여 유지되는 것을 볼 수 있습니다.

멤버 변수는 String 클래스의 값이 최종적이며 변경할 수 없다는 것을 알 수 있으므로 값이 변경되는 한 새로운 String 유형 객체가 생성되며 String 데이터의 저장이 반드시 0번째부터 시작되는 것은 아닙니다. 배열의 요소이지만 오프셋이 가리키는 요소부터 시작합니다.

(동영상 튜토리얼 추천: java 동영상 튜토리얼)

문자열 객체를 생성하는 방법

String s1 = "hello" ; 
String s2 = "world" ;
String s3 = "hello" ;
System. out. println(s1 == s3) ; //true
로그인 후 복사

S1과 S3의 "hello"와 s2의 "world"는 메소드 영역의 상수 풀에 존재합니다.

그림과 같이

일반적으로 사용되는 Java 클래스 String 클래스에 대한 자세한 소개

So s1==s3

s1 = new String ("hel1o") ;
s2 = new String ("hel1o") ;
System.out.println(s1 == s2) ; //false
System.out.println (s1.equals (s2) ) ; // true
로그인 후 복사

s1과 s2는 new를 통해 얻은 두 개의 String 객체로 힙에 저장되며 주소가 다릅니다. s1과 s2는 두 개의 참조이므로 비교되는 것은 주소 s1 != s2입니다.

String's equals는 Object의 같음을 다시 작성합니다. Object처럼 주소를 비교하지 않고 값을 비교하므로 s1.equals(s2)는 true입니다.

아아아아

위 내용은 일반적으로 사용되는 Java 클래스 String 클래스에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿