Wikia

Le Wikia francophone pour Java

Java.lang.String

Discussion0
20pages sur
ce wiki
Cet article est une ébauche à compléter, vous pouvez partager vos connaissances en le modifiant.


Classe de la documentation
String
Package java.lang
Utilisable depuis JDK 1.0
Version du JDK lors de la traduction JDK 5.0
Arbre généalogique
java.lang.Object
java.lang.String
Définition
public final class String

extends Object
implements Serializable, Comparable<String>, CharSequence

Article officiel

La classe String représente des chaînes de caractères. Toutes les chaînes littérales dans les programmes Java, comme "abc", sont des instances de la classe String.

Les objets de cette classe sont constants. Leurs valeurs ne peut plus être changées une fois que l'objet a été créé. Les String buffers (tampons) supportent les chaînes "changeable". Du fait que les objets de String sont immuables, ils peuvent être partagés. Par exemple:

   String str = "abc";

est équivalent à:

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


Voici d'autres exemples qui montrent comment une chaîne peut être utilisée:

   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 des méthodes pour examiner les caractères d'une séquence individuellement, pour comparer des chaînes, pour chercher des chaînes, pour en extraire des sous-chaînes, et pour créer une copie d'une chaîne en mettant tous les caractères en majuscule ou en minuscule. La modification de la casse est basée sur la version standart de l'Unicode qui est spécifié par la classe Character.

Le langage Java fournit un support spécial pour l'opérateur de concaténation de chaînes ( + ), ainsi que pour la conversion d'un objet en une chaîne. La concaténation de chaîne est implémentée par la classe StringBuilder (ou StringBuffer) et sa méthode annexe. Les conversions d'objets en chaîne sont implémentées par la méthode toString, défini par Object et hérité par toutes les autres classes. Pour plus d'informations concernant la concaténation et la convertion de chaîne, lisez The Java Language Specification de Gosling, Joy et Steele.

Passer un argument null à un constructeur ou à une méthode de cette classe lancera l'exception NullPointerException.

String est utilisable depuis: JDK 1.0

Nuvola apps xmag.png Voir aussi les articles StringBuffer, StringBuilder, Charset ainsi que la méthode Object.toString()



Attributs de la classe Modifier

CASE_INSENSITIVE_ORDER : Objet Comparator qui classe des objets String comme par compareToIgnoreCase.

Constructeurs de la classe Modifier

String(): Initialise un nouvel objet String de sorte qu'il représente une séquence vide.

String(byte[]): Construit une nouvelle chaîne en décodant le tableau d'octets spécifié en utilisant le jeu de caractère par défaut de la plateforme.

String(byte[], int) Modifier

@Deprecated public String(bytes[] ascii, int hibyte)

Déprécié. Cette méthode ne convertit pas proprement les octets en caractères. Depuis la version 1.1 du JDK, une meillère façon de procéder est arrivée pour effectuer la même chose que ce constructeur. Il s'agit des constructeurs de String qui prennent en argument le nom du jeu de caractères ou qui utilise celui par défaut de la plateforme.

Assigne un nouvel objet String contenant des caractères construit depuis un tableau de valeurs entières codées sur 8 bits. Chaque caractère c dans la chaîne obtenue est construit à partir du composant b dans le tableau d'octets, tel que:

       c == (char)(((hibyte & 0xff) << 8)
                          | (b & 0xff))

Paramètres:

ascii - les octets qui vont être convertit en caractères
hibyte - les 8 bits principaux de chaque caractère Unicode de 16 bits.

String(byte[], int, int) Modifier

public String(byte[] octets, int decalage, int taille)

Construis une nouvelle chaîne en décodant le sous-tableau d'octets spécifié en utilisant le jeu de caractères par défaut de la plateforme. La taille de la nouvelle chaîne varie en fonction du jeu de caractère d'où le fait que la longueur de la chaîne peut être différente de la longueur du sous-tableau.

Aucun comportement n'a été spécifié au cas où des octets non valides soient donnés. Pour cela, s'il vous faut plus de contrôle sur le processus de décodage, vous devriez utiliser la classe CharsetDecoder

Paramètres:

octets - les octets a décoder en caractères
decalage - l'index du premier octet à décoder
taille - le nombre d'octets à décoder

Exceptions:

IndexOutOfBoundsException - si le décalage ou la taille passé en argument indique un index qui se trouve hors du tableau d'octets

Utilisable depuis:

JDK 1.1

String(byte[], int, int, int) Modifier

@Deprecated public String(byte[] ascii, int hibyte, int decalage, int taille)

Déprécié. Cette méthode ne convertit pas proprement les octets en caractères. Depuis la version 1.1 du JDK, une meilleure façon de procéder est arrivée pour effectuer la même chose que ce constructeur. Il s'agit des constructeurs de String qui prennent en argument le nom du jeu de caractères ou qui utilise celui par défaut de la plateforme.

Assigne un nouvel objet String construit à partir d'un sous-tableau d'entiers de 8 bit.

L'argument decalage est l'index du premier octet du sous-tableau, et l'argument taille spécifié la longueur de ce sous-tableau.

Chaque octet du sous-tableau est convertit en un caractère.

Paramètres:

ascii - les octets qui seront convertit en caractères.
hibyte - les 8 bits principaux de chaque caractère Unicode de 16 bits.
decalage - l'index du premier octet à décoder (premier élément du sous-tableau)
taille - taille du sous-tableau.

Exceptions:

IndexOutOfBoundsException - si le sous-tableau va en dehors du tableau d'octets.

String(byte[], int, int, String) Modifier

public String(byte[] octets, int decalage, int taille, String charset)
throws UnsupportedEncodingException

Construit un nouvel objet String en décodand le sous-tableau d'octets spécifié en utilisant le jeu de caractères spécifié. La longueur de la nouvelle chaîne varie en fonction du jeu de caractères, ce qui explique pourquoi la chaîne peut avoir une longueur différente de celle du sous-tableau.

Aucun comportement n'a été spécifié si les octets donnés sont non valides. Aux cas où plus de contrôle sur le processus de décodage est nécessaire, vous devriez utiliser la classe CharsetDecoder.

Paramètres:

octets - les octets à décoder en caractères
decalage - l'index du premier octet à décoder
taille - le nombre d'octets à décoder
charset - le nom du jeu de caractères à utiliser

Exceptions:

UnsupportedEncodingException - si le nom du jeu de caractères n'est pas supporté
IndexOutOfBoundsException - si me décalage et la taille pointe vers un ou plusieurs index qui se trouvent hors du tableau

Utilisable depuis:

JDK1.1

String(byte[], String) Modifier

public String(byte[] octets, String charset)
throws UnsupportedEncodingException

Construit un nouvel objet String en décodand le tableau d'octets spécifié en utilisant le jeu de caractères spécifié. La longueur de la nouvelle chaîne varie en fonction du jeu de caractères, ce qui explique pourquoi la chaîne peut avoir une longueur différente de celle du sous-tableau.

Aucun comportement n'a été spécifié si les octets donnés sont non valides. Aux cas où plus de contrôle sur le processus de décodage est nécessaire, vous devriez utiliser la classe CharsetDecoder.

Paramètres:

octets - les octets à décoder en caractères
charset - le nom du jeu de caractères à utiliser

Exceptions:

UnsupportedEncodingException - si le nom du jeu de caractères n'est pas supporté

Utilisable depuis:

JDK1.1

String(char[]) Modifier

public String(char[] valeurs)

Créer un nouvel objet String de sorte qu'il représente la séquence de caractères contenu dans le tableau passé en argument. Le contenu du tableau de caractères est copié. Des modifications futures sur le tableau n'affecteront pas la chaîne qui vient d'être créée.

Paramètres:

valeurs - tableau contenant les caractères à mettre dans une chaîne

String(char[], int, int) Modifier

public String(char[] valeurs, int decalage, int taille)

Créer un nouvel objet String qui contient les caractères du sous-tableau issu d'un tableau de caractères passé en argument. L'argument decalage indique l'index du premier caractère du sous-tableau et l'argument taille spécifie la taille du sous-tableau. Le contenu du sous-tableau est copié à la nouvelle chaîne par conséquent si le tableau est modifié par la suite cela n'affectera pas la chaîne nouvellement créée.

Paramètres:

valeurs - tableau contenant les caractères.
decalage - le décalage initial.
taille - longueur de la chaîne.

Exceptions:

IndexOutOfBoundsException - si le décalage ou la taille passé en argument indique un index qui se trouve hors du tableau d'octets.

String(int[], int, int) Modifier

public String(int[] CodePoints, int decalage, int taille)

Créer un nouvel objet String qui contient des caractères venant d'un sous-tableau issu d'un tableau de valeur en Unicode passé en argument. L'argument decalage indique l'index du premier caractère du sous-tableau et l'argument taille spécifie la taille du sous-tableau. Le contenu du sous-tableau est copié à la nouvelle chaîne par conséquent si le tableau est modifié par la suite cela n'affectera pas la chaîne nouvellement créée.

Paramètres:

codePoints - tableau contenant les valeurs Unicode à convertir en caractère.
decalage - index de la premier valeure à convertir.
taille - taille du sous-tableau.

Exceptions:

IllegalArgumentException - si une valeur Unicode invalide est trouvée dans le tableau codePoints
IndexOutOfBoundsException - si le décalage ou la taille passé en argument indique un index qui se trouve hors du tableau de valeurs Unicode.

Utilisable depuis:

1.5

String(String) Modifier

public String(String original)

Initialise un nouvel objet String de sorte qu'il représente la même séquence de caractères que celui passé en argument. En d'autres mots, la nouvelle chaîne créée est une copie de la chaîne passée en argument. A moins qu'une copie explicite de l'original est nécessaire, l'usage de ce constructeur ne sert plus à rien depuis que les objets String sont immuables.

Paramètres:

original - une chaîne.

String(StringBuffer) Modifier

public String(StringBuffer tampon)

Créé un nouvel objet String qui contient la séquence de caractères contenue dans le tampon passé en argument. Le contenu du tampon est copié, par conséquent si ce tampon est modifié par la suite cela n'affectera pas le chaîne nouvellement créée.

Paramètres:

tampon - le tampon contenant la séquence à copier

String(StringBuilder) Modifier

public String(StringBuilder builder)

Créer un nouvel objet String qui contient la séquence de caractère contenu dans l'objet StringBuilder passé en argument. Le contenu du StringBuilder est copié, par conséquent si ce dernier est modifié ultérieurement cela n'affectra pas la chaîne nouvellement créée.

Ce constructeur est fourni pour faciliter la migration vers StringBuilder. Pour obtenir une chaîne à partir d'un StringBuilder, préférez la méthode toString qui se lance plus rapidement.

Paramètres:

builder - l'objet StringBuilder contenant la séquence de caractères.

Utilisable depuis:

1.5

Méthodes de la classe Modifier

charAt(int) Modifier

public char charAt(int index)

Retourne la valeur char se trouvant à l'index spécifié. L'index s'étend de 0 à la taille de la chaîne -1. La première valeur char de la séquence est à l'index 0, la valeur suivante est à l'index 1, et ainsi de suite jusqu'à la fin du tableau.

Si la valeur char spécifiée par l'index est une représentation (surrogate), la représentation est retournée.

Spécifié par:

charAt dans l'interface CharSequence

Paramètres:

index - l'index de la valeur char.

Retourne:

la valeur du caractère se trouvant à l'index spécifié de la chaîne. Le premier caractère se trouvant à l'index 0.

Exceptions:

IndexOutOfBoundsException - si l'index passé en argument est négatif ou plus grand que la taille de la chaîne.

codePointAt(int) Modifier

public codePointAt(int index)

Retourne le caractère (en Unicode) se trouvant à l'index spécifié. L'index se réfère à une valeur char (en Unicode) et s'étend de 0 à la longueur de la chaîne -1.

Paramètres:

index - l'index de la valeur char

Retourne:

la valeur Unicode du caractère se trouvant à l'index spécifié

Exceptions:

IndexOutOfBoundsException - si l'index passé en argument est négatif ou plus grand que la longueur de la chaîne.

Utilisable depuis:

1.5

codePointBefore(int) Modifier

public codePointBefore(int index)

Retourne le caractère (en Unicode) se trouvant avant l'index spécifié. L'index se réfère à une valeur char (en Unicode) et s'étend de 1 à la longueur de la chaîne.

Paramètres:

index - l'index du char suivant celui qui doit être retourné

Retourne:

la valeur Unicoe précédant celui qui se trouve à l'index donné.

Exceptions:

IndexOutOfBoundsException - si l'index passé en argument est plus petit que 1 ou plus grand que la tailler de cette chaîne.

Utilisable depuis:

1.5

codePointCount(int, int) Modifier

public int codePointCount(int beginIndex, int endIndex)

Retourne le nombre de caractère unicode dans une portion de texte de cet objet String. La portion de texte commence à l'index beginIndex et se termine à l'index endIndex - 1. Ainsi, la longueur (en variable char) est de endIndex - beginIndex. Les surrogates non paire sont compté comme un seul caractère chacun.


Paramètres:

beginIndex - l'index du premier caractère de la portion de texte.
endIndex - l'index se trouvant après le dernier caractère de la portion de texte. Le dernier caractère a l'index endIndex-1

Retourne:

le nombre de caractères unicode que contient cette portion de texte.

Exceptions:

IndexOutOfBoundsException - si beginIndex est négatif, si endIndex est plus grand que la taille (length) de l'objet String, ou si beginIndex est plus grand que endIndex.

Utilisable depuis:

1.5

compareTo(String) Modifier

public int compareTo(String anotherString)

Compare deux chaînes lexicographicalement. La comparaison est basée sur les valeurs unicode des caractères des deux chaînes. La séquence de caractères de cet objet String est comparée lexicographicalement à la séquence de l'objet passé en argument. Le résultat est un entier négatif si cet objet String précède lexicographicalement la chaîne passée en argument. Le résultat est un entier positif si cet objetc String suit lexicographicalement la chaîne passée en argument. Le résultat est zéro si les deux chaînes sont égales; compareTo retourne 0 exactement comme la méthode equals(Object) retournerait true.

Voici la définition d'un ordre lexicographique: si deux chaînes sont différentes, c'est que soit leurs caractères à certains index sont différents, soit leurs longueurs sont différentes, ou soit que les deux se produisent. Si elles ont des caractères différent à certains index, il faut prendre k comme étant le plus petit index où un caractère change. La chaîne ayant le caractère, à l'index k, de la plus petite valeur (déterminée grâce à l'opérateur <), précède lexicographicalement l'autre chaîne, et l'autre chaîne suit lexicographicalement la première chaîne. Dans ce cas, compareTo retourne la différence entre les valeurs des deux caractères à l'index k grâce à cette instruction:

   this.charAt(k) - anotherString.charAt(k);

S'il n'y a pas de position où il y a une différence, alors la chaîne la plus courte précède lexicographicalement la chaîne la plus longue. Dans ce cas-ci, compareTo retourne la différence entre les longueurs des deux chaînes grâce à cette instruction:

    this.length()-anotherString.length()

Spécifié par:

compareTo dans l'interface Comparable<String>

Paramètres:

anotherString - la chaîne à comparée

Retourne:

la valeur 0 si la chaîne passée en argument est égale à cet objet;
une valeur plus petite que 0 si cet objet String précède lexicographicalement la chaîne passée en argument;
une valeur plus grande que 0 si cette chaîne suit lexicographiculement l'argument.

compareToIgnoreCase(String) Modifier

public int CompareToIgnoreCase(String str)

Compare deux chaînes lexicographicalement en ignorant la casse. Cette méthode retourne un nombre entier dont le signe dépend du résultat de la comparaison (pour en savoir plus sur le signe, lisez la description de la méthode CompareTo) sur des versions normalisées des chaînes où les différences de casses ont été supprimées en appellant les méthodes Character.toLowerCase(Character.toUpperCase(character)) sur chacun des caractères.

Notez que cette méthode ne tient pas compte des localités et le résultat pourrait ne pas convenir pour certaines localités. Le package java.text fournit un comparateur (Collator) pour permettre un classement des caractères unicodes qui soit sensible à la localité.

Paramètres:

str - la chaîne à comparer.

Retourne:

un nombre négatif, positif ou nul en fonction que la chaîne passée en argument soit plus grande, plus petite ou égale à cet objet en ignorant la casse.

Utilisable depuis:

1.2
Nuvola apps xmag.png Voir aussi la méthode compare(String, String) de la classe Collator.



concat(String) Modifier

public String concat(String str)

Enchaîne (concatène) la chaîne spécifiée à la fin de cet objet String.

Si la longueur de la chaîne passée en argument est de 0, alors c'est cet objet qui est retourné. Autrement, un nouvel objet String est créé et représente la séquence de caractères qui est le produit de la concaténation de la séquence de caractères de cet objet String et de la séquence de la chaîne passée en argument.

Exemples:

    "chat".concat("on") retourne "chaton"
    "to".concat("get").concat("her") retourne "together"

Paramètres:

str - la chaîne devant être ajoutée à cet objet String.

Retourne:

une nouvelle chaîne représentant la concaténation entre les caractères de cet objet String suivient par les caractères de la chaîne passée en argument.

contains(CharSequence) Modifier

public boolean contains(CharSequence s)

Retourne true si et seulement si cette chaîne contient la séquence spécifiée en argument.

Paramètres:

s - la séquence à chercher.

Retourne:

true si la chaîne contient s, false dans l'autre cas.

Exceptions:

NullPointerException - si s est null.

Utilisable depuis:

1.5

contentEquals(CharSequence) Modifier

public boolean contentEquals(CharSequence cs)

Retourne true si et seulement si cette chaîne représente la même séquence de caractère que celle spécifiée en argument.

Paramètres:

cs - la séquence à comparer

Retourne:

true si et seulement si cette chaîne représente la même séquence que celle passée en argument, sinon retourne false.

Exceptions:

NullPointerException - si cs est null.

Utilisable depuis:

1.5

contentEquals(StringBuffer) Modifier

public boolean contentEquals(StringBuffer sb)

Retourne true si et seulement si cette chaîne représente la même séquence de caractères que le StringBuffer spécifié.

Paramètres:

sb - le StringBuffer à comparer

Retourne:

true si et seulement si cette chaîne représente la même séquence de caractères que le StringBuffer spécifié, false autrement.

Exceptions:

NullPointerException - si sb est null.

Utilisable depuis:

1.4

copyValueOf(char[]) Modifier

public static String copyValueOf(char[] data)

Retourne un objet String qui représente la séquence de caractère se trouvant dans le tableau spécifié.

Paramètres:

data - le tableau de caractères

Retourne:

un objet String contenant les caractères du tableau de caractères passé en argument.

copyValueOf(char[], int, int) Modifier

public static String copyValueOf(char[] data, int offset, int count)

Retourne un String qui représent la séquence de caractères du tableau spécifié.

Paramètres:

data - le tableau de caractères.
offset - décalage initial du sous-tableau.
count - taille du sous-tableau.

Retourne:

un objet String qui contient les caractère du sous-tableau spécifié du tableau de caractères passé en argument.

endsWith(String) Modifier

public boolean endsWith(String suffix)

Teste si cette chaîne finit par le suffixe spécifié.

Paramètres:

suffix - le suffixe.

Retourne:

true si la séquence de caractère représentée par l'argument est un suffixe de la séquence de caractères représentée par cet objet, false dans l'autre cas. Notez que le résultat sera true si l'argument est une chaîne vie ou égale à cet objet String (donc que la méthode equals(Object) retourne true).

equals(Object) Modifier

public boolean equals(Object anObject)

Compare cette chaîne avec celle passée en argument. Le résultat est true si et seulement si l'argument n'est pas null et s'il est un objet String représentant la même séquence de caractères que cet objet.

Redéfinis:

equals de la classe Object

Paramètres:

anObject - l'objet à comparer avec cet objet String.

Retourne:

true si la chaîne est égale, false autrement.
Nuvola apps xmag.png Voir aussi les méthodes compareTo(String) et equalsIgnoreCase(String)



equalsIgnoreCase(String) Modifier

public boolean equalsIgnoreCase(String anotherString)

Compare cette chaîne à la chaîne anotherString en ignorant la casse. Deux chaînes sont égales en ignorant la casse si elles sont de même taille et que les caractères correspondant des deux chaînes sont égals en ignorant la casse.

Deux caractères c1 et c2 sont considérés indentiques, en ne prenant pas compte de la casse, si au moins l'une de ces conditions est vérifiée:

  • Les deux caractères sont les mêmes (en les comparant avec l'opérateur ==)
  • L'appel à la méthode Character.toUpperCase(char) sur chacun des caractères produit le même résultat.
  • L'appel à la méthode Character.toLowerCase(char) sur chacun des caractères produit le même résultat.

Paramètres:

anotherString - la chaîne à comparer avec cet objet.

Retourne:

true si l'argument n'est pas null et est égale à cette chaîne en ignorant la casse; false dans l'autre cas.



format(String, Object) Modifier

public static String format(String format, Object... args)

Retourne une chaîne formatée en utilisant la chaîne de formattage spécifiée et les arguments.

La localité utilisée est celle retournée par Locale.getDefault() .

Paramètres:

format - une chaîne de formattage.
args - Les arguments référencés par les déterminants de format utilisés dans la chaîne de formattage. S'il y a plus d'arguments que de déterminants de format, les arguments excédentaires sont ignorés. Le nombre de d'argument peut varier et même être zéro. Le nombre maximum d'arguments est limité par la dimension maximale d'un tableau en Java. Cette limite est définie par le Java Virtual Machine Specification. Le comportement s'il y a un argument null dépend de la converison demandée.

Retourne:

une chaîne formatée.

Exceptions:

IllegalFormatException - si la chaîne de formattage contient une syntaxe illégale, un déterminant qui est incompatible avec l'argument donné, s'il y a trop peu d'arguments pour la chaîne de formattage donnée, ou d'autres conditions illégales. Pour plus de détails sur les cas possibles d'erreurs de formattage, voyez la section Détails de la description de la classe Formatter.
NullPointerException - si la chaîne format est null.

Utilisable depuis:

1.5
Nuvola apps xmag.png Voir aussi la classe Formatter



format(Locale, String, Object) Modifier

public static String format(Locale l, String format, Object... args)

Retourne une chaîne formatée en utilisant la localité, la chaîne de formattage et les arguments spécifiés.

Paramètres:

l - La localité à appliquer lors du formattage. Si l est null alors aucune localisation n'est appliquée.
format - une chaîne de formattage.
args - Les arguments référencé par les déterminants de format utilisés dans la chaîne de formattage. S'il y a plus d'arguments que de déterminants de format, les arguments excédentaires sont ignorés. Le nombre de d'argument peut varier et même être zéro. Le nombre maximum d'arguments est limité par la dimension maximale d'un tableau en Java. Cette limite est définie par le Java Virtual Machine Specification. Le comportement s'il y a un argument null dépend de la conversion demandée.

Retourne:

une chaîne formatée.

Exceptions:

IllegalFormatException - si la chaîne de formattage contient une syntaxe illégale, un déterminant qui est incompatible avec l'argument donné, s'il y a trop peu d'arguments pour la chaîne de formattage donnée, ou d'autres conditions illégales. Pour plus de détails sur les cas possibles d'erreurs de formattage, voyez la section Détails de la description de la classe Formatter.
NullPointerException - si la chaîne format est null.

Utilisable depuis:

1.5
Nuvola apps xmag.png Voir aussi la classe Formatter



getBytes() Modifier

public byte[] getBytes()

Encode cette chaîne en une séquence d'octets en utilisant le jeu de caractère par défaut de la plateforme et stocke le résultat dans un nouveau tableau d'octets (byte array)

Le comportement de cette méthode n'est pas connu si la chaîne ne peut être encodéee par le jeu de caractère par défaut. La classe CharsetEncoder devrait être utilisée si un contrôle plus poussé sur la procédure d'encodage est nécessaire.

Retourne:

un tableau d'octets

Utilisable depuis:

JDK 1.1

getBytes(int, int, byte[], int) Modifier

@Deprecated public void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)

Dépréciée. Cette méthode ne convertit pas proprement les caractères en octets. Depuis JDK 1.1, il est préférrable d'utiliser la méthode getBytes() qui utilise le jeu de caractères par défaut de la plateforme.

Copie les caractères de cette chaîne dans un tableau d'octets. Chaque octet reçoit les 8 bits de poids faible du caractère correspondant. Les 8 bits de poids fort de chaque caractère ne sont pas copiés et ne participate en aucune façon à ce transfert.

Le premier caractère à être copié est celui qui se trouve à l'index srcBegin, le dernier caractère copié est celui à l'index srcEnd-1. Le nombre total de caractères copiés est de srcEnd-srcBegin. Les caractères, convertis en octets, sont copiés dans le sous-tableau de dst en partant de l'index dstBegin et en finissant à l'index

            dstbegin + (srcEnd-srcBegin) - 1

Paramètres:

srcBegin - index du premier caractère de la chaîne à copier.
srcEnd - index se trouvant après le dernier caractère caractère de la chaîne à copier.
dst - le tableau de destination.
dstBegin - le décalage de départ dans le tableau de destination.

Exceptions:

IndexOutOfBoundsException - si l'une de ces conditions est vraie:
  • srcBegin est négatif.
  • srcBegin est plus grand que srcEnd.
  • srcEnd est plus grand que la taille de la chaîne.
  • dstBegin est négatif
  • dstBegin+(srcEnd-srcBegin) est plus grand que dst.length

getBytes(String) Modifier

public byte[] getBytes(String charsetName)
throws UnsupportedEncodingException

Encode cette chaîne en une séquence d'octets en utilisant le jeu de caractère spécifié et stocke le résultat dans un nouveau tableau d'octets (byte array).

Le comportement de cette méthode n'est pas connu si la chaîne ne peut être encodéee par le jeu de caractère par défaut. La classe CharsetEncoder devrait être utilisée si un contrôle plus poussé sur la procédure d'encodage est nécessaire.

Paramètres:

charsetName - le nom du jeu de caractères à utiliser

Retourne:

un tableau de caractères

Exceptions:

UnsupportedEncodingException - si le jeu de caractères spécifié n'est pas supporté.

Utilisable depuis:

JDK 1.1

getChars(int, int, char[], int) Modifier

public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

Copie les caractères de cette chaîne dans le tableau de caractère dst.

Le premier caractère à être copié est celui se trouvant à l'index srcBegin; le dernier caractère copié est celui dont l'index est de srcEnd-1 (donc le nombre total de caractères copiés est de srcEnd-srcBegin). Les caractères sont copiés dans le sous-tableau de dst en partant de l'index dstBegin et s'arrêtant à l'index:

            dstbegin + (srcEnd-srcBegin) - 1

Paramètres:

srcBegin - l'index du premier caractère à copier.
srcEnd - index après le dernier caractère à copier.
dst - le tableau de destination.
dstBegin - le décalage initial dans le tableau de destination.

Exceptions:

IndexOutOfBoundsException - si l'une de ces conditions est vrai:
  • srcBegin est négatif.
  • srcBegin est plus grand que srcEnd.
  • srcEnd est plus grand que la taille de la chaîne.
  • 'dstBegin+(srcEnd-srcBegin) est plus grand que dst.length.

hashCode() Modifier

public int hashCode()

Retourne le hash code de cette chaîne. Le hash code d'un objet String est calculé de cette manière:

        s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]

en utilisant l'arithmétique des entiers et où s[i] est le ième caractère de la chaîne, n est la taille de la chaîne, et ^ indique une puissance. (La valeur hash d'une chaîne vide est zéro.)

Redéfinis:

hashCode dans la classe Object.

Retourne:

le hash code de cet objet.
Nuvola apps xmag.png Voir aussi la méthode Object.equals(Object) et la classe Hashtable



indexOf(int) Modifier

public int indexOf(int ch)

Retourne l'index de la première occurence dans cette chaîne du caractère spécifié. Si un caractère avec la valeur ch est trouvé dans la séquence de caractères représentée par cet objet String, alors l'index retourné est celui de la première occurence de ce caractère. Pour les caractères de valeur allant de 0 à 0xFFFF (compris), la valeur retournée est la plus petite tel que:

        this.charAt(k) == ch

soit vrai. Pour les autres valeurs, c'est la plus petite valeur tel que:

        this.codePointAt(k) == ch

est vrai. Dans n'importe quel cas, s'il n'y a aucune occurence de ce caractère, alors -1 est retourné.

Paramètres:

ch - un caractère (en Unicode).

Retourne:

l'index de la première occurence du caractère dans cette chaîne, ou -1 si ce caractère ne s'y trouve pas.

indexOf(int, int) Modifier

public int indexOf(int ch, int fromIndex)

Retourne l'index de la première occurence dans cette chaîne du caractère spécifié en aprtant à l'index donné. Si un caractère avec la valeur ch est trouvé dans la séquence de caractères représentée par cet objet String après l'index fromIndex, alors l'index retourné est celui de la première occurence de ce caractère. Pour les caractères de valeur allant de 0 à 0xFFFF (compris), la valeur retournée est la plus petite tel que:

        (this.charAt(k) == ch) && (k >= fromIndex)

soit vrai. Pour les autres valeurs, c'est la plus petite valeur tel que:

        (this.codePointAt(k) == ch) && (k >= fromIndex)

est vrai. Dans n'importe quel cas, s'il n'y a aucune occurence de ce caractère après ou à l'index fromIndex, alors -1 est retourné.

Il n'y a aucune restriction sur la valeur de fromIndex. S'il est négatif, cela aura le même effet que s'il avait été zéro: la chaîne entière sera parcourue. S'il est plus grand que la taille de cette chaîne, cela aura le même effet que s'il avait été égal à la taille de cette chaîne: -1 serait retourné.

Paramètres:

ch - un caractère (en Unicode).
fromIndex - l'index où la recherche débute.

Retourne:

l'index de la première occurence du caractère dans cette chaîne à partir de fromIndex, ou -1 si ce caractère ne s'y trouve pas.

indexOf(String) Modifier

public int indexOf(String str)

Retourne l'index de la première occurrence de la sous-chaîne spécifiée. Le nombre entier retourné est la plus petite valeur k tel que:

        this.startsWith(str, k)

soit vrai.

Paramètres:

str - n'importe quelle chaîne.

Retourne:

si la chaîne passée en argument apparaît dans cet objet, alors l'index du premier caractère de cette sous-chaîne est retournée, sinon cette fonction retourne -1.

indexOf(String, int) Modifier

public int indexOf(String str, int fromIndex)

Retourne l'index de la première occurrence de la sous-chaîne spécifiée à partir de l'index donné. Le nombre entier retourné est la plus petite valeur k tel que:

        k >= Math.min(fromIndex, str.length()) && this.startsWith(str, k)

soit vrai. Si aucune occurence de cette chaîne n'existe, -1 est retourné.

Paramètres:

str - n'importe quelle chaîne.
fromIndex - l'index où la recherche débute.

Retourne:

l'index du premier caractère de cette sous-chaîne est retournée si elle apparaît après fromIndex.

Wikis de Wikia à la une

Wiki au hasard