![]() | Objet, référence, égalité, nullabilité, mutabilité |
var book = new Book(); System.out.println(book.title + ' ' + book.author);Expliquer.
var b1 = new Book("Da Java Code", "Duke Brown"); var b2 = b1; var b3 = new Book("Da Java Code", "Duke Brown"); System.out.println(b1 == b2); System.out.println(b1 == b3);Qu'affiche le code ci-dessus ?
public static void main(String[] args){ var b1 = new Book("Da Java Code", "Duke Brown"); var b2 = b1; var b3 = new Book("Da Java Code", "Duke Brown"); var list = new ArrayList(); list.add(b1); System.out.println(list.indexOf(b2)); System.out.println(list.indexOf(b3)); }Quel est le problème avec les résultats affichés sur la console.
var aBook = new Book(null, null); var anotherBook = new Book(null, null); var list = new ArrayList(); list.add(aBook); System.out.println(list.indexOf(anotherBook));Où se situe le problème ?
var book = new Book("Da Java Code", "Dan Duke"); System.out.println(book);Java sait faire cela, à condition de mettre dans la classe Book une méthode public String toString() (la définition de cette méthode est dans la classe java.lang.Object (RTFM !)) retournant une chaîne de caractères, qu'on construit typiquement à partir des attributs de l'objet.
Da Java Code by Dan Duke