QCM Java – Types génériques
QCM sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses sur Java comprennent divers sujets. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur Java .
1. Pourquoi la généricité en Java est-ils utilisé?
A Elle rend le code plus rapide
B Elle rend le code plus optimisé et plus lisible
C Elle ajoute la stabilité à votre code en rendant vos bugs détectables à l’exécution
D Elle ajoute la stabilité à votre code en rendant vos bugs détectables au moment de la compilation
2. Lequel de ce type de paramètres est utilisé pour qu’une classe générique renvoie et accepte n’importe quel type d’objet?
A V
B T
C N
D K
3. Lequel de ces paramètres type est utilisé pour qu’une classe générique renvoie et accepte un nombre?
A V
B T
C N
D K
4. Lequel de ces types de référence suivants ne peut pas être générique?
A Classe interne
B Interface
C Classe interne anonyme
D Toutes les réponses sont bonnes
5. Laquelle des affirmations suivantes est incorrecte concernant l’utilisation de la généricité et de types paramétrés en Java?
A Lors de la conception de votre propre classe de collections, les types génériques et paramétrés vous permettent d’obtenir une sécurité de type avec une seule définition de classe plutôt que de définir plusieurs classes
B Les types génériques et paramétrés supprime le besoin de conversions descendantes lors de l’utilisation de collections Java
C La généricité en Java assurent la sécurité des types en transférant davantage de responsabilités de vérification de type au compilateur
D Toutes les réponses sont vrais
6. Laquelle de ces méthodes est correcte pour définir une classe générique?
A class MaClasse2 <T1, T2, ....., Tn> { /* … */ }
B class MaClasse4 {T1, T2, …, Tn} { /* … */ }
C class MaClasse3 [T1, T2, …, Tn] { /* … */ }
D class MaClasse1(T1, T2, …, Tn) { /* … */ }
7. Quelle est la sortie de ce programme?
import java.util.*; class Pilegeneric <E> { Stack <E> pile = new Stack <E>(); public E pop() { E obj = pile.pop(); return obj; } public void push(E obj) { pile.push(obj); } } public class Test { public static void main(String args[]) { Pilegeneric <String> pg = new Pilegeneric <String>(); pg.push("Hello"); System.out.println(pg.pop()); } }
A Hello
B Erreur de compilation
C obj478962
D 44
8. Quelle est la sortie de ce programme?
import java.util.*; class Pilegeneric <E> { Pile <E> pile = new Pile <E>(); public E pop() { E obj = pile.pop(); return obj; } public void push(E obj) { pile.push(obj); } } public class Test { public static void main(String args[]) { Pilegeneric <Integer> pg = new Pilegeneric <Integer>(); pg.push(44); System.out.println(pg.pop()); } }
A Erreur de compilation
B Erreur d’exécution
C obj478962
D 44
9. Quelle est la sortie de ce programme?
import java.util.*; class Pilegeneric <E> { Pile <E> pile = new Pile <E>(); public void push(E obj) { pile.push(obj); } public E pop() { E obj = pile.pop(); return obj; } } public class Test { public static void main(String args[]) { Pilegeneric <String> pg = new Pilegeneric <String>(); pg.push("Hello"); System.out.print(pg.pop() + " "); Pilegeneric <Integer> pg = new Pilegeneric <Integer>(); pg.push(44); System.out.println(pg.pop()); } }
A Hello 44
B Erreur de compilation
C Hello
D 44
Bonjour,
La réponse du question 7 c’est incorrect.
Merci de corriger.
Merci, pour cette remarque 🙂