Qu'est-ce que les génériques en Java? - Un guide du débutant



Cet article sur les génériques en Java donnera un bref aperçu de ce que sont les génériques Java et ses différents types, ainsi que des exemples.

Prenons un exemple où vous devez faire une liste des êtres vivants dans une localité. Peu importe qu’il s’agisse d’un être humain, d’un animal ou d’une plante. Tout ce qui compte, c'est un être vivant. Dans ce cas, vous les regrouperiez tous comme des «êtres vivants» et non les catégoriser. De même, lorsque vous devez stocker des données, ce qui compte pour vous, c'est le contenu et non le type de données, et c'est là que vous utilisez les génériques. Génériques dans est une fonctionnalité de langage qui permet l'utilisation de types et de méthodes génériques.

Voici la liste des sujets que je couvrirai dans cet article:





Qu'est-ce que les génériques en Java?

Génériques est un terme qui désigne un ensemble de fonctionnalités de langage liées à la définition et à l'utilisation de types et de méthodes génériques. Les méthodes génériques Java diffèrent des types de données et des méthodes classiques. Avant les génériques, nous utilisions le pour stocker tout type d'objets, c'est-à-dire non générique . Maintenant, les génériques forcent le programmeur pour stocker un type spécifique d'objets.

Maintenant que vous savez ce que sont les génériques en Java, allons plus loin et comprenons pourquoi vous avez besoin de Java Generics.



Pourquoi Java Generics?

Si vous regardez le classes, alors vous observerez que la plupart des classes prennent des paramètres / arguments de type Object. Fondamentalement, sous cette forme, ils peuvent prendre n'importe quel type Java comme argument et renvoyer le même objet ou argument. Ils sont essentiellement hétérogène c'est-à-dire pas d'un type similaire.

surcharge vs remplacement de c ++

FrameworkHierarchy - Génériques en Java - Edureka

Parfois, dans l'application Java, le type de données de l'entrée n'est pas fixe. L'entrée peut être un entier , à flotte ou . Afin d'affecter l'entrée au du bon type de données, des contrôles préalables devaient être effectués. Dans l'approche traditionnelle, après avoir pris l'entrée, le type de données de l'entrée a été vérifié, puis a été affecté à la variable du bon type de données. Lorsque cette logique a été utilisée, la longueur du code et le temps d'exécution ont été augmentés. Pour éviter cela, Les génériques ont été introduits . Lorsque vous utilisez Generics, les paramètres du code sont vérifiés automatiquement au moment de la compilation et il définit le type de données par défaut. C'est donc là que vous avez besoin du concept de génériques en Java.



Maintenant que vous avez acquis des informations sur les génériques, allons de l'avant et examinons les différentes façonsLes génériques peuvent être appliqués au code source.

Types de génériques Java

Il existe 4 façons différentes d'appliquer les génériques en Java et elles sont les suivantes:

  1. Classe de type générique
  2. Interface générique
  3. Méthode générique
  4. Constructeur générique

Voyons maintenant comment les génériques peuvent être appliqués en profondeur à la classe de types.

1. Classe de type générique

Une classe est dite générique si elle déclare une ou plusieurs variables de type. Ces types de variables sont appelés paramètres de type du . Comprenons cela à l’aide d’un exemple. Dans l'exemple ci-dessous, je vais créer une classe avec une propriété X et le type de la propriété est un objet.

class Genericclass {Private Object x public void set (Object x) {this.x = x} public Object get () {return x}}

Ici, une fois que vous initialisez la classe avec un certain type, la classe ne doit être utilisée qu'avec ce type particulier. Par exemple. Si vous voulez qu'une instance de la classe contienne la valeur X de type « Chaîne «, Alors le programmeur doit définir et obtenir le seul type. Depuis que j'ai déclaré le type de propriété à Object, il n'y a aucun moyen d'appliquer cette restriction. Un programmeur peut définir n'importe quel objet et peut s'attendre à n'importe quel type de valeur de retour de méthode get puisque tous les types Java sont des sous-types de classe.

Pour appliquer ce type de restriction, nous pouvons utiliser des génériques comme ci-dessous:

class Genericclass {// T signifie 'Type' private T x public void set (T x) {this.x = x} public T get () {return x}}

Maintenant, vous pouvez être assuré que la classe ne sera pas utilisée à mauvais escient avec de mauvais types. Un exemple simple de' Genericclass 'Ressemble à l'illustration ci-dessous:

Genericclass instance = new Genericclass () instance.set ('Edureka') instance.set (10) // Cela provoquera une erreur de compilation

Voilà comment cela fonctionne. Cettel'analogie est également vraie pour l'interface. Examinons rapidement un exemple pour comprendre comment les informations de type générique peuvent être utilisées dans les interfaces en java.

2. Interface générique

Une fait référence aux types de données abstraits. Ils permettent à manipuler indépendamment des détails de leur représentation. En outre, ils forment une hiérarchie dans langues. Voyons comment le type générique peut être appliqué aux interfaces en Java.

// Interface de définition d'interface générique GenericInterface {T2 PerformExecution (T1 x) T1 ReverseExecution (T2 x)} // Une classe implémentant la classe d'interface générique Genericclass implémente GenericInterface {public Integer PerformExecution (String x) {// code d'exécution} public String ReverseExecution ( Entier x) {// code d'exécution}}

J'espère que vous avez pu comprendre comment les génériques peuvent être appliqués à la classe de type et aux interfaces. Passons maintenant à cet article et comprenons en quoi il est utile pour les méthodes et les constructeurs.

3. Méthodes génériques

Les méthodes génériques sont très similaires aux classes génériques. Ils diffèrent les uns des autres par un seul aspect que le les informations de portée ou de type se trouvent uniquement à l'intérieur de la méthode. Les méthodes génériques introduisent leurs propres paramètres de type.

Comprenons cela avec un exemple. Voici un exemple de méthode générique qui peut être utilisée pour trouver toutes les occurrences de paramètres de type dans une liste de variables.

public static int countAllOccurrences (T [] list, T element) {int count = 0 if (element == null) {for (T listElement: list) if (listElement == null) count ++} else {for (T listElement: list ) if (element.equals (listElement)) count ++} return count}

Si vous passez une liste de Chaîne à rechercher dans cette méthode, cela fonctionnera très bien. Mais si vous essayez de trouver un nombre dans la liste de String, cela donnera une erreur de compilation.

Cette analogie est également similaire au constructeur. Prenons un exemple pour le constructeur générique et comprenons son fonctionnement.

4. Constructeur générique

Au constructeur est un bloc de code qui initialise l'objet nouvellement créé. UNE constructeur ressemble à une méthode d'instance dans J ava mais ce n'est pas une méthode car elle n'a pas de type de retour. Le constructeur a le même nom que la classe et ressemble à ceci en J ava code. Prenons maintenant un exemple et comprenons comment cela fonctionne.

class Dimension {privé T longueur privé T largeur privé T hauteur // Constructeur générique public Dimension (T longueur, T largeur, T hauteur) {super () this.length = longueur this.width = largeur this.height = height}}

Dans l'exemple ci-dessus, le constructeur de la classe Dimension contient les informations de type. Ainsi, vous pouvez avoir une instance de dimension avec tous les attributs d'un seul type uniquement. Voici donc comment utiliser les constructeurs de type générique. J'espère que vous avez compris les types de génériques en Java.

Allons maintenant plus loin et examinons les avantages des génériques en Java.

Avantages des génériques en Java

1. Réutilisation du code

Vous pouvez composer une stratégie ou une classe ou un une fois et utilisez pour tout type ou de toute manière dont vous avez besoin.

2. La diffusion de types individuels n'est pas requise

Fondamentalement, vous avez récupéré des informations de à chaque fois, vous devez le typer. Le typage à chaque tâche de récupération est une migraine majeure. Pour éradiquer cette approche, des génériques ont été introduits.

comment créer des fichiers journaux en java

3. Implémentation d'un algorithme non générique

Il peut calculer les algorithmes qui fonctionnent sur divers types d'éléments qui sont également de type sûr.

Tout cela concernait les avantages de Java Generics. Avec cela, nous arrivons à la fin de cet article sur les génériques en Java. J'espère que vous l'avez trouvé informatif et vous avez aidé à comprendre Java Generics.

Vérifiez par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Nous sommes là pour vous aider à chaque étape de votre voyage, pour devenir une autre question d'entrevue java, nous proposons un programme conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java. Le cours est conçu pour vous donner une longueur d'avance dans la programmation Java et vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate & Spring.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce «Génériques en Java 'Article et nous vous répondrons dans les plus brefs délais.