API specification
Avant d’aborder plus en détails la classe String, il nécessaire d’utiliser l’API specification de la
plate forme Java 2 SDK. Ouvrir avec votre explorateur le fichier
C:\j2sdk1.4.1_02\docs\api\index.html, et placer ce fichier en raccourci sur votre système (vous
aurez à l’utiliser de nombreuses fois).
Cette documentation html correspond à la documentation de toutes les classes standards
distribuées avec la plate forme Java 2 SDK. Ces classes sont regroupées par package. Le package
correspond à un ensemble de classes (ou une librairie de classes spécifiques). La notion de
package sera abordée plus en détails dans les TP suivants.
Si vous faîtes défiler la barre de déroulement de la fenêtre bas gauche, vous avez un aperçu du
nombre de classe à disposition. Ajoutez à ça le volume « important » de projet Java à disposition
sur Internet, nous venons d’illustrer que la puissance du langage Java ne réside pas seulement dans
le langage en lui même, mais aussi par sa popularité.
Remarque : La documentation API specification est obtenu par utilisation de l’outil javadoc à
partir du code source Java des packages standrards Java, en respectant les règles de commentaire
présentées en introduction de ce TP. Javadoc sera abordée plus en détails dans les TP suivants.
Manipulation
Nous illustrons ici l’utilisation des chaînes de caractères en Java à travers quelques exemples.
Implémenter et commenter les exemples suivants (vous pouvez créer une nouvelle classe Test3) :
1. Déclaration, allocation, et initialisation
String s1 = new String("hello");
String s2 = "hello";
String s3 = new String(s1);
System.out.println(s1 + " " + s2 + " " + s3);
2. Affectation
String s1 = "hello1", s2 = s1;
System.out.println(Integer.toHexString(s1.hashCode()));
s1 = "hello2";
System.out.println(s1 + " " + s2);
System.out.println(Integer.toHexString(s1.hashCode()));
On admettra dans ce TP l’écriture de Integer.toHexString(o.hashCode()) pour la récupération sous
forme de chaîne de caractères de la référence de l’objet o. Comparer cet exemple avec l’exemple
(3) des tableaux, qu’en concluez vous ?
3. Opérateurs arithmétiques, d’affectation, et d’affectation élargie
String s1 = "Java", s2 = "2";
String s = s1 + s2;
System.out.println(s);
s1 += s2;
System.out.println(s1);
4. Opérateurs relationnels
String s1 = "Java", s2 = "Java";
System.out.println(s1 == s2);
System.out.println(s1 != s2);
System.out.println(s1 == s1);
5. Longueur, accès aux caractères, recherche, et sous chaînes
String s = "JavaTM 2 Platform"; char c;
for(int i=0;i<s.length();i++)
{c = s.charAt(i);System.out.println(c);}
int b = s.indexOf('T');
int e = s.indexOf('a',b);
String r = s.substring(b+1,e);
System.out.println(r);
6. Comparaison, modification, et conversion
String s1 = "Java"; String s2 = "Jovo";
System.out.println(s1.equals(s2));
s2 = s2.replace('o','a');
System.out.println(s1.equals(s2));
String cvt = new String();
for(int i=1;i<=2;i++)
{System.out.println(s2+cvt.valueOf(i));}
4) Algorithmes de tri