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

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

王林
王林앞으로
2020-07-14 16:44:212650검색

일반적으로 사용되는 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으로 문의하시기 바랍니다. 삭제