Maison  >  Article  >  Java  >  String est-il un objet ou une classe en Java ? Explication détaillée de String en Java

String est-il un objet ou une classe en Java ? Explication détaillée de String en Java

零下一度
零下一度original
2017-05-22 11:01:212017parcourir

Beaucoup de gens ne comprennent pas les définitions des objets et des classes. Par exemple, en Java, String est-il un objet ou une classe ?

Certaines personnes disent que String peut être considéré comme à la fois une classe et un objet.

En fait, c'est normal qu'il le dise. Les classes et les objets sont en fait des concepts abstraits. Nous pouvons regrouper une classe de choses et lui donner un nom, quelle classe et ce qu'elle fait spécifiquement, mais nous pouvons aussi dire que c'est un objet...

On peut donc dire que String est un classe, On peut aussi dire que c'est un objet.

Mais si vous voulez approfondir , par exemple, l'éditeur a fait une analyse approfondie et j'ai trouvé qu'en java.lang, c'est un cours de base. Vous pouvez y jeter un œil. au code source dans le package lang.

public final class String extends Object implements Serializable,Comparable < String >,CharSequence

Dans java.lang, 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 immuables ; 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. Par exemple :

  String str =“abc”;

est équivalent à :

   char data [] = {&#39;a&#39;,&#39;b&#39;,&#39;c&#39;};
     String str = new String(data);

Voici quelques exemples d'utilisation des chaînes :

   System.out.println( “ABC”);
     String cde =“cde”;
     System.out.println(“abc”+ cde);
     String c =“abc”.substring(2,3);
     String d = cde.substring(1,2);

La classe String inclut pour la vérification séquences Méthodes pour les caractères individuels, utilisées pour comparer des chaînes, utilisées pour rechercher des chaînes, utilisées pour extraire des sous-chaînes et utilisées pour créer une copie de la chaîne qui traduit tous les caractères en majuscules ou en minuscules. Le mappage de casse est basé sur la version standard Unicode spécifiée par la classe Character.

Le langage Java fournit un support spécial pour l'opérateur de concaténation de chaînes (+) et pour la conversion d'autres objets en chaînes. La concaténation de chaînes est implémentée via la classe StringBuilder (ou StringBuffer) et sa méthode append. La conversion de chaîne est implémentée via la méthode toString définie et héritée par toutes les classes d'ObjectJava. Pour plus d'informations sur la concaténation et la conversion de chaînes, consultez Gosling, Joy et Steele, Java Language Spécification.

Sauf indication contraire, le passage d'un argument nul à un constructeur ou à une méthode de cette classe entraînera la levée d'une NullPointerException.

Une chaîne représentant une chaîne au format UTF-16 dans laquelle les caractères supplémentaires sont représentés par des doubles de substitution (voir la section Représentations de caractères Unicode dans la classe Character pour plus d'informations). Les valeurs d'index font référence aux unités de code char, donc les caractères supplémentaires utilisent deux positions dans une chaîne. La classe String de

fournit des méthodes pour gérer les points de code Unicode (c'est-à-dire les caractères), en plus de celles pour gérer les unités de code Unicode (c'est-à-dire les valeurs de caractères).

Donc, si vous rencontrez des problèmes à l'avenir, vous pouvez consulter la documentation et le code source. Vous pouvez également savoir qu'il s'agit d'une classe en consultant la documentation, et vous pouvez rapidement comprendre de quoi il s'agit en regardant le code source.

À l'avenir, vous pourrez utiliser une méthode similaire à celle-ci pour voir si quelque chose est une interface, une classe, etc.

Classe : Il s'agit d'une abstraction et d'une définition subjective d'un objet physique. L'objet est l'instance spécifique générée par cette classe. String s=new String(); Objet de classe chaîne. .

Méthode constructeurRésumé

String() 
          初始化一个新创建的 String 对象,使其表示一个空字符序列。 
String(byte[] bytes) 
          通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。 
String(byte[] bytes, Charset charset) 
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。 
String(byte[] ascii, int hibyte) 
          已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。 
String(byte[] bytes, int offset, int length) 
          通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] bytes, int offset, int length, Charset charset) 
          通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] ascii, int hibyte, int offset, int count) 
          已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。 
String(byte[] bytes, int offset, int length, String charsetName) 
          通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。 
String(byte[] bytes, String charsetName) 
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。 
String(char[] value) 
          分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。

Pour résumer (pz) : classe, Il s'agit d'une abstraction et d'une définition subjective d'un objet physique. Un objet est une instance spécifique générée par cette classe. String s=new String();

Ici String est une classe, et s est un objet généré par la classe String. . Essentiellement, String est une classe, mais si vous souhaitez l'utiliser, vous pouvez instancier un objet.

String est une classe très spéciale ! Différent des types de base

[Recommandations associées]

1 Partagez un exemple de didacticiel de classe String en Java<.>

2.

Résumez les exemples de didacticiels de la classe String en Java

3

Quelles sont les méthodes courantes de la classe String en Java ? Résumez les méthodes courantes de la classe String en Java

4

Partagez une interprétation du code source de Java String.

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!

Déclaration:
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