[Java] Classe générique et méthode générique

introduction

J'ai réussi à utiliser les génériques que je connais dans les listes et les cartes, mais je vais laisser quelques points à garder à l'esprit car cela peut être vague lors de l'utilisation de génériques pour mes propres classes.

Environnement de vérification

Code source de vérification

Generics.java


package generics;

import java.util.ArrayList;
import java.util.List;

public class Generics {

	public static void main(String[] args) {
		Bean<String> beanForStr1 = new Bean<String>();
		beanForStr1.setValue("Chaîne");
		System.out.println(beanForStr1.getValue());

		Bean<Integer> beanForInt1 = new Bean<Integer>();
		beanForInt1.setValue(1000);
		System.out.println(beanForInt1.getValue());

		ExpandBean<Integer> beanForInt2 = new ExpandBean<Integer>();
		beanForInt2.setValue(1000);
		System.out.println(beanForInt2.getValue());

		System.out.println(getAnyBean(beanForStr1).get(0).getValue());
		System.out.println(getAnyBean(beanForInt1).get(0).getValue());
		System.out.println(getAnyBean(beanForInt2).get(0).getValue());
	}


	/**
	 *Méthode générique
	 */
	public static <T> List<T> getAnyBean(T args){

		List<T> list = new ArrayList<T>();
		list.add(args);

		return list;
	}

}


Bean.java


/**
 *Classe génériques
 */
public class Bean<T> {

	private T value;

	public T getValue() {
		return value;
	}

	public void setValue(T value) {
		this.value = value;
	}
}

ExpandBean.java


package generics;

/**
 *Classe génériques
 *Vous pouvez spécifier (restreindre) comme "une classe qui hérite de la classe Number"
 */
public class ExpandBean<T extends Number> {

	private T value;

	public T getValue() {
		return value;
	}

	public void setValue(T value) {
		this.value = value;
	}
}

Note

Il est utile de se rappeler de créer la partie de base et d'organiser les processus communs. La classe générique est maladive, mais le point d'écrire les génériques juste avant de spécifier la valeur de retour de la méthode générique n'est pas maladif.

A bientôt (^_^) Noshi

Recommended Posts

[Java] Classe générique et méthode générique
Java Generics (définit les classes et les méthodes)
Méthodes et classes abstraites Java
Programmation Java (classes et instances, méthodes principales)
Cours et méthodes abstraits d'histoire d'apprentissage JAVA
java (classe et instance)
[Java] Résumé personnel des classes et méthodes (basique)
(Remarque) Classes / variables / méthodes Java
Méthodes Java et surcharges de méthodes
java Generics T et? Différence
[Ruby] Méthodes singulières et classes singulières
Méthodes et classes Ruby (basiques)
Méthodes Java
Méthodes Java
[Java] Génériques
À propos des méthodes Java statiques et non statiques
Comment appeler des classes et des méthodes
Etudier Java 8 (méthode StaticIF et Default)
Classes et instances Java pour les débutants
Méthodes de classe Java
Résumé des génériques Java
[Java] Exemple de génériques
Génériques Java (Notes)
Fonctions et méthodes
Java et JavaScript
XXE et Java
Efficacité de Java 3rd Edition Chapitre 4 Classes et interfaces
Différences dans l'écriture des classes Java, C # et Javascript
Vérifier le comportement statique et public dans les méthodes Java
Comment accéder aux méthodes et champs Java Private
[Ruby] Classes et instances
Getter et Setter (Java)
[Java] Thread et exécutable
Classes HashMap et HashSet
Java vrai et faux
À propos des classes et des instances
[Java] Comparaison des chaînes de caractères et && et ||
[Java] À propos des classes anonymes
Génériques Java fréquemment utilisés
Classes et instances Ruby
Java - Sérialisation et désérialisation
[Java] Arguments et paramètres
timedatectl et Java TimeZone
[Java] Branchement et répétition
Liste et cours heureux
[Java] Types de variables et types
[Java] Surcharge et remplacement
Classes et instances Java comprises dans la figure
Comparaison équivalente de la classe wrapper Java et du type primitif
[Java10] Veillez à utiliser ensemble var et génériques
Etudier Java # 2 (\ marque et opérateur)
[Pour les débutants] Explication des classes, des instances et des statiques en Java
Java version 8 et fonctionnalités ultérieures
Méthode de codage et principe de refactoring
Comment séparer les mots dans les noms dans les classes, les méthodes et les variables
[Java] Différence entre == et égal