Récemment, j'ai eu la chance d'utiliser Java grâce à mon travail. J'ai mis à jour mes anciennes connaissances Java (1.3).
Cette fonction détermine le traitement du type à utiliser au moment de la mise en œuvre.
Cela seul est rafraîchissant, alors je voudrais l'expliquer avec un exemple.
List list = new ArrayList();
//Stocker les valeurs dans la liste
// String ->Puisqu'il est converti en Object, il peut être stocké implicitement.
list.add("1");
list.add("2");
list.add("3");
for (Iterator it = list.iterator(); it.hasNext(); ) {
//Obtenir et afficher la valeur de la liste
//Objet au moment de l'acquisition->La chaîne a besoin d'un cast explicite
String str = (String) it.next();
System.out.println(str);
}
//Préparer une ArrayList qui utilise le type String
List<String> list = new ArrayList<String>();
// List<String> list = new ArrayList<>(); //Puisque le type est fixe lorsque la variable est déclarée, lors de la création d'une instance<>Peut être omis
//Stocker les valeurs dans la liste
//La chaîne peut être stockée telle quelle
list.add("1");
list.add("2");
list.add("3");
for (Iterator<String> it = list.iterator(); it.hasNext(); ) {
//Obtenir et afficher la valeur de la liste
//Pas besoin de lancer car il peut être obtenu avec String
String str = it.next();
System.out.println(str);
}
En Java1.3, lors de l'utilisation de collections J'ai dû le stocker en tant que type d'objet. Bien sûr, lors de son extraction, il s'agit également d'un type Object, j'ai donc dû le convertir en fonction du type utilisé.
L'auteur-compositeur doit lancer le casting lorsque celui-ci est retiré Si vous stockez le mauvais type, vous obtiendrez une ClassCastException. Bien sûr, c'est une exception, vous ne remarquerez donc pas l'erreur tant que vous ne l'exécuterez pas.
En revanche, si vous utilisez des génériques, vous pouvez déterminer le type au moment de l'implémentation.
Mauvais type à stocker = Une erreur de compilation s'est produite
C'est également une fonction qui permet de réduire les erreurs faciles.
Recommended Posts