Accueil Finances personnelles Programmation Java: tout sur les Génériques - les nuls

Programmation Java: tout sur les Génériques - les nuls

Vidéo: APPRENDRE LE JAVA #1 - LES BASES & PREREQUIS 2024

Vidéo: APPRENDRE LE JAVA #1 - LES BASES & PREREQUIS 2024
Anonim

L'un des objectifs de conception d'origine de Java était de garder la langue aussi simple que possible. Le développeur du langage a pris des fonctionnalités inutilement compliquées de C ++ et les a jetées par la fenêtre. Le résultat était un langage élégant et élégant. Certaines personnes ont dit que la langue était trop lisse.

Après plusieurs années de discussions et de querelles, Java est devenu un peu plus compliqué. En l'an 2004, Java avait des types enum, améliorés pour les boucles, l'importation statique, et quelques autres nouvelles fonctionnalités intéressantes. Mais la nouveauté la plus parlée était l'introduction des génériques.

ArrayList people = new ArrayList ();

L'utilisation de quelque chose comme était nouveau dans Java 5. 0. Dans l'ancien Java, vous écririez

ArrayList people = new ArrayList ();

A cette époque, une ArrayList pouvait stocker presque tout ce que vous vouliez y mettre: un nombre, un compte, une pièce, une chaîne … n'importe quoi. La classe ArrayList était très polyvalente, mais avec cette polyvalence est venu quelques maux de tête. Si vous pouviez placer quelque chose dans une ArrayList, vous ne pourriez pas prédire facilement ce que vous obtiendriez d'une ArrayList.

En particulier, vous ne pouviez pas écrire facilement du code supposant que vous aviez stocké certains types de valeurs dans ArrayList. Voici un exemple:

ArrayList things = new ArrayList (); des choses. ajouter (nouveau compte ()); Compte myAccount = choses. get (0); // NE L'UTILISEZ PAS. C'est un mauvais code.

Dans la troisième ligne, l'appel de get (0) saisit la valeur la plus ancienne dans la collection des objets. L'appel de get (0) est correct, mais le compilateur s'interrompt alors sur l'assignation tentée à myAccount. Vous obtenez un message sur la troisième ligne indiquant que tout ce que vous obtenez de la liste des choses ne peut pas être bourré dans la variable myAccount.

Vous obtenez ce message car, au moment où le compilateur atteint la troisième ligne, il a oublié que l'élément ajouté sur la deuxième ligne était de type Account!

L'introduction des génériques résout ce problème:

ArrayList things = new ArrayList (); des choses. ajouter (nouveau compte ()); Compte myAccount = choses. get (0); // UTILISER CE CODE AU LIEU. C'est bon code.

Ajouter à deux endroits indique au compilateur que les choses stockent les instances de compte - rien d'autre. Ainsi, dans la troisième ligne du code précédent, vous obtenez une valeur de la collection d'objets. Ensuite, comme les objets ne stockent que des objets Compte, vous pouvez faire correspondre myAccount à cette nouvelle valeur.

Java 5. 0 génériques ajoutés à Java. Mais peu après la naissance de Java 5. 0, les programmeurs ont remarqué à quel point le code des génériques pouvait être maladroit.Après tout, vous pouvez créer des génériques dans les génériques. Une ArrayList peut contenir un groupe de tableaux, chacun pouvant être un ArrayList. Vous pouvez donc écrire

ArrayList  mess = new ArrayList  ();

Toute la répétition dans cette déclaration de mess donne aux programmeurs un mal de tête! Pour éviter cette laideur, Java 7 et les versions ultérieures ont un opérateur , . L'opérateur de diamant dit à Java de réutiliser toutes les choses incroyablement compliquées que vous avez placées dans la partie précédente de la déclaration générique.

Dans cet exemple, le dit à Java de réutiliser , même si vous n'écrivez qu'une seule fois. Voici à quoi ressemble le code simplifié de Java 7:

ArrayList  mess = new ArrayList ();

Dans Java 7 et versions ultérieures, vous pouvez écrire l'une ou l'autre de ces déclarations de mess - la déclaration originale et désagréable avec deux occurrences de ArrayList [] ou la déclaration simplifiée (seulement légèrement méchante) avec l'opérateur diamond et une seule ArrayList [] occurrence.

Oui, le code simplifié est encore compliqué. Mais sans toute la répétition ArrayList [], le code simplifié est moins lourd. L'opérateur de diamant Java 7 vous enlève une chance de copier quelque chose de manière incorrecte et d'avoir une grosse erreur dans votre code.

Programmation Java: tout sur les Génériques - les nuls

Le choix des éditeurs

Résolution des conflits de ressources humaines avec Microsoft Office Project 2007 - dummies

Résolution des conflits de ressources humaines avec Microsoft Office Project 2007 - dummies

Lorsqu'un membre de l'équipe de projet est suropposée dans votre projet Microsoft Office Project 2007, vous pouvez prendre des mesures pour corriger le problème en utilisant les suggestions suivantes. Gardez à l'esprit que les circonstances de votre projet déterminent si une solution particulière est réalisable. Par exemple, vous pouvez ajouter des ressources uniquement si votre budget le permet ...

Comment enregistrer plusieurs lignes de base dans Project 2013 - mannequins

Comment enregistrer plusieurs lignes de base dans Project 2013 - mannequins

Le concept de lignes de base multiples semble presque contraire définition d'une ligne de base. Après tout, le but d'une base de référence est de mettre l'enjeu proverbial dans le sable et de mesurer les progrès contre elle. Vous pouvez conserver plusieurs lignes de base dans Project 2013 à plusieurs fins. Considérez ces raisons: Vous avez un plan de base pour ...

Comment enregistrer une référence dans Project 2013 - mannequins

Comment enregistrer une référence dans Project 2013 - mannequins

Vous pouvez enregistrer une référence à tout moment en ouvrant la boîte de dialogue Définir la ligne de base dans Project 2013. Un paramètre - qui contrôle la manière dont le projet regroupe les données dans les tâches récapitulatives lorsque vous définissez une ligne de base pour une partie des tâches - nécessite une explication. Après avoir enregistré une base de données la première fois dans Project 2013, ...

Le choix des éditeurs

Comment classer les modèles d'analyse prédictive - mannequins

Comment classer les modèles d'analyse prédictive - mannequins

Vous avez plusieurs façons de classer les modèles utilisés pour l'analyse prédictive. En général, vous pouvez les trier en fonction des problèmes métier qu'ils résolvent et des principales fonctions métier qu'ils servent (ventes, publicité, ressources humaines ou gestion des risques, par exemple). L'implémentation mathématique utilisée dans le modèle (comme les statistiques, l'exploration de données et la machine ...

Comment appliquer n'importe quelle grappe de colonies dans l'analyse prédictive - les nuls

Comment appliquer n'importe quelle grappe de colonies dans l'analyse prédictive - les nuls

Un exemple naturel de groupe auto-organisateur vous pouvez appliquer dans le comportement d'analyse prédictive est une colonie de fourmis à la recherche de nourriture. Les fourmis optimisent collectivement leur trajectoire de manière à prendre toujours le chemin le plus court possible vers une cible alimentaire. Même si vous essayez de déranger une colonie de fourmis et de les empêcher de ...

Comment choisir un algorithme pour un modèle d'analyse prédictive - mannequins

Comment choisir un algorithme pour un modèle d'analyse prédictive - mannequins

Diverses statistiques, data-mining et des algorithmes d'apprentissage automatique sont disponibles pour votre modèle d'analyse prédictive. Vous êtes dans une meilleure position pour sélectionner un algorithme après avoir défini les objectifs de votre modèle et sélectionné les données sur lesquelles vous allez travailler. Certains de ces algorithmes ont été développés pour résoudre des problèmes métier spécifiques, améliorer des algorithmes existants ou fournir ...

Le choix des éditeurs

Excel Tableaux de bord et rapports: La fonction VLOOKUP - les nuls

Excel Tableaux de bord et rapports: La fonction VLOOKUP - les nuls

Ne vous feront rien tout bien si vous ne pouvez pas gérer efficacement vos modèles de données. La fonction VLOOKUP est le roi de toutes les fonctions de recherche dans Excel. Le but de VLOOKUP est de trouver une valeur spécifique à partir d'une colonne de données où la valeur de ligne la plus à gauche correspond à un critère donné. Prenez ...

Excel Outils d'analyse de données - dummies

Excel Outils d'analyse de données - dummies

L'outil d'analyse d'excel est un complément utile qui fournit un ensemble complet d'outils d'analyse statistique . Voici quelques outils dans le ToolPak. Outil Analyse Anova: Facteur unique Analyse de variance pour deux échantillons ou plus Anova: Facteur double avec réplication Analyse de la variance avec deux variables indépendantes et observations multiples ...

Excelent Touches de raccourci d'entrée de données - mannequins

Excelent Touches de raccourci d'entrée de données - mannequins

Lorsque vous travaillez dans Excel et saisissez des données dans une cellule, il est essentiel pour compléter l'entrée soit en cliquant sur une autre cellule avec le pointeur de la souris ou en utilisant l'une des touches de raccourci pratiques montrées ici pour déplacer le curseur de la cellule: Appuyez sur les touches To Arrow (& uarr;, & darr; move ...