Font size
WorksheetsDojo - Type Inference
Total questions: 13
Worksheet time: 7mins
Lequel de ces chatons est le plus mignon ?
Est-ce que ça fonctionne?
var myVariable = "Pourquoi Mickey Mouse ?";
myVariable = 123;
Oui
Non, ça plante au runtime
Non, ça plante à la compilation
Parce que Mario Brosse
Le paradigme de l'inférence de type est une nouveauté de Java 10
Vrai
Faux
Le para-qué de l'infé-quoi?
Quel est le type de la variable "myList" ?
var myList = new ArrayList<>();
myList.add("Vive les chats !");
List<Object>
List<String>
Ça ne compile pas !
Moi je préfère les chiens...
Vrai ou Faux : L'utilisation de "var" est une bonne pratique
Vrai
Faux
Ça dépend...
La var-ice est un vilain défaut...
Est-ce que ça compile ?
public void method(var input){/*...*/}
Oui
Uniquement si tous les appels de cette méthode sont faits avec le même type
Non
T'as cru que je compilais avec les yeux ou quoi ?
Quelle(s) ligne(s) compile(nt) ? (plusieurs choix possibles)
Predicate<String> p1 = s -> s.isEmpty(); //1
var p2 = s -> s.isEmpty(); //2
var p3 = (String s) -> s.isEmpty(); //3
Predicate<String> p4 = (var s) -> s.isEmpty(); //4
1
2
3
4
Quel est le type de "myVar" inféré par le compilateur?
var myVar = guessMyType();
/* ... */
List<String> guessMyType() { return new ArrayList<>(); }
List<String>
ArrayList<Object>
ArrayList<String>
Obiwan<Kenobi>
Est-ce que ça compile ?
var var = "var";
Oui
Non
Ça dépend
...var ?
Quel est le type de "nul" ?
var nul = null;
Object
Ça ne compile pas
Ça dépend de la prochaine affectation
NullPointerException
var listOf = List.of(1,"miaou");
Vrai ou Faux : Le type de "listOf" inféré par le compilateur est List<Object>
Vrai
Faux
Peu importe, de toutes façons ça ne compile pas
Est-ce que ça compile ?
var map = Map.of("key","value");
map = new HashMap<>();
Oui
Non
Quel sont les problèmes avec le code ci-dessous?
(plusieurs choix possibles)
var map = new HashMap(){{put("Key","Value");}};
Ça fonctionne bien mais ce n'est pas très maintenable
Cela peut causer des fuites de mémoire
On ne pourra jamais réaffecter la variable "map"
Sérieux?
Ça compile ça?
