// module: StringTest.java // auteur: felipe // objet: survol des String // comment: la seule chose importante a savoir: les String sont des objets constants (a suivre) // premiere recontre avec un objet... class StringTest { public static void main(String [] args) { String s1; // declaration d'un objet s de type String s1 = "bonjour"; // initialisation System.out.println(s1); String s2 = "hello"; // declaration et initialisation en meme temps String s3 = "arrosoir"; // declaration et initialisation en meme temps // on peut obtenir les caracteres d'une String un par un par la methode charAt() // et sa longueur par la methode length() char c = s2.charAt(0); System.out.println("longueur de " + s1 + " = " + s1.length() ); System.out.println("premier caractere de s = " + c ); System.out.println("deuxieme caractere de s = " + s1.charAt(1) ); // on peut comparer deux chaines entre elles avec la methode equals // ou equalsIgnoreCase if (s1.equals(s2)) System.out.println(s1 + " " + s2 + " sont egales"); else System.out.println(s1 + " " + s2 + " sont differentes"); // ou avec la methode compareTo System.out.println(s1 + " vs " + s2 + " : " + s1.compareTo(s2)); System.out.println(s2 + " vs " + s1 + " : " + s2.compareTo(s1)); System.out.println(s1 + " vs " + s3 + " : " + s1.compareTo(s3)); System.out.println(s2 + " vs " + s2 + " : " + s2.compareTo(s2)); // ce qu'on ne peut pas faire car une String est un objet constant: modifier directement un caractere // il existe une autre classe : StringBuffer qui se comporte plus traditionnellement //s1.charAt(0) = 'e'; ERREUR // en revanche on peut ecrire des choses comme ca // mais le mecanisme mis en place par le compilateur // ne sera vu que plus tard ... s1 = s1 + " et merci"; System.out.println("nouveau s1 = " + s1); } }