Maison > Java > Javacommencer > Introduction détaillée à la classe Java couramment utilisée. Classe String

Introduction détaillée à la classe Java couramment utilisée. Classe String

王林
Libérer: 2020-07-14 16:44:21
avant
2652 Les gens l'ont consulté

Introduction détaillée à la classe Java couramment utilisée. Classe String

Classe couramment utilisée String

(Tutoriel recommandé : Tutoriel d'introduction à Java)

La classe String représente une chaîne. Tous les littéraux de chaîne dans les programmes Java (tels que "abc" ) sont implémentés en tant qu'instances de cette classe.

Les chaînes sont des constantes et leurs valeurs ne peuvent pas être modifiées après leur création. Les tampons de chaînes prennent en charge les chaînes mutables. Les objets String étant immuables, ils peuvent être partagés.

Code source de la chaîne

public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
}
Copier après la connexion

Variable membre de la chaîne

//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];
Copier après la connexion

À partir du code source, on peut voir que la couche sous-jacente de String est maintenue à l'aide d'un tableau de caractères.

Les variables membres peuvent savoir que la valeur de la classe String est finale et ne peut pas être modifiée, donc tant qu'une valeur change, un nouvel objet de type String sera généré et les données String ne démarrent pas nécessairement à partir de la 0ème position du tableau. Il commence par un élément, mais commence à partir de l'élément pointé par offset.

(Tutoriel vidéo recommandé : Tutoriel vidéo Java )

Comment créer un objet chaîne

String s1 = "hello" ; 
String s2 = "world" ;
String s3 = "hello" ;
System. out. println(s1 == s3) ; //true
Copier après la connexion

"bonjour" de S1 et S3 et "bonjour " de s2 "monde" existe dans le pool constant de la zone de méthode.

Comme le montre la figure :

Introduction détaillée à la classe Java couramment utilisée. Classe String

Donc s1==s3

s1 = new String ("hel1o") ;
s2 = new String ("hel1o") ;
System.out.println(s1 == s2) ; //false
System.out.println (s1.equals (s2) ) ; // true
Copier après la connexion

s1 et s2 sont deux objets String obtenus grâce à de nouveaux et existent dans le tas, les adresses sont différentes. s1 et s2 sont deux références, donc ce qui est comparé est l'adresse, s1 != s2.

L'égalité de la chaîne réécrit les égaux de l'objet. Il ne compare pas les adresses comme l'objet, mais compare les valeurs, donc s1.equals (s2) est vrai.

3.char c[]= { &#39;s&#39;, &#39;u&#39; , &#39;n&#39;,&#39;,&#39;, &#39;j&#39;, &#39;a&#39;, &#39;v&#39; ,&#39;a&#39;} ;
String s4 = new String(c) ;
String s5 = new String(c,4,4) ;
System.out.println(s4) ; //sun java
System.out.println(s5) ; //java
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal