Maison > Java > javaDidacticiel > Résumé du didacticiel d'exemple de génériques Java

Résumé du didacticiel d'exemple de génériques Java

零下一度
Libérer: 2017-06-01 10:14:24
original
1612 Les gens l'ont consulté

Les génériques sont un point de connaissance très important en Java. Les génériques sont largement utilisés dans le framework de classes de collection Java. Dans cet article, nous examinerons la classe générique Java

Automobile à partir de zéro :

public class Automobile {    private String name;    public Automobile(String name){        this.name= name;
    }    public String getName() {        return name;
    }    public void setName(String name) {        this.name = name;
    }
}
Copier après la connexion

Classe Holder1 : contient un objet de type unique spécifié.

public class Holder1 {    private Automobile automobile;    public Holder1(Automobile automobile){        this.automobile = automobile;
    }    public Automobile get(){        return this.automobile;
    }
}
Copier après la connexion

Classe Holder2 : contient un objet Object.

public class Holder2 {    private Object object;    public Holder2(Object object){        this.setObject(object);
    }    public Object getObject() {        return object;
    }    public void setObject(Object object) {        this.object = object;
    }
}
Copier après la connexion

Classe Holder3 : utilisez des génériques pour contenir un seul objet, mais ne spécifiez pas son type pour le moment, et décidez quel type d'objet contenir lors de son utilisation.

public class Holder3 <T>{    private T t;    public Holder3(T t){        this.setT(t);
    }    public T getT() {        return t;
    }    public void setT(T t) {        this.t = t;
    }
}
Copier après la connexion

Programme principal Principal :

public class Main {    public static void main(String[] args) {        /*使用Holder1*/
        Holder1 holder1 = new Holder1(new Automobile("Iphone"));
        System.out.println(holder1.get().getName());        
        /*使用Holder2*/
        //使holder2持有String类型对象
        Holder2 holder2 = new Holder2("XiaoMi");
        System.out.println(holder2.getObject()); 
        //更改holder2中持有的对象类型
        holder2.setObject(new Automobile("HuaWei"));        //向下转型Object->Automobile
        Automobile automobile = (Automobile) holder2.getObject();
        System.out.println(automobile.getName());        
        /*使用Holder3*/
        //告诉编译器holder3持有的对象类型为String        //此时holder3拥有的对象类型只能为String,不能变更
        Holder3<String> holder3 = new Holder3<String>("Vivo");
        System.out.println(holder3.getT());        //告诉编译器anotherHolder3持有的对象类型为Automobile        //此时anotherHolder3拥有的对象类型只能为Automobile,不能变更
        Holder3<Automobile> anotherHolder3 = new Holder3<Automobile>(new Automobile("Oneplus"));
        System.out.println(anotherHolder3.getT().getName());
    }    
}
Copier après la connexion

Le résultat de l'exécution du programme est :

Iphone
XiaoMi
HuaWei
Vivo
Oneplus
Copier après la connexion

[Recommandations associées]

1. 🎜 >Explication des génériques Java

2

Résumé des génériques Java (3) - Explication détaillée de l'utilisation des caractères génériques

3. des génériques Java (2) - Génériques et tableaux

3.

Résumé des génériques Java (1) - Explication détaillée de l'utilisation de base et de l'effacement de type

4. .

Explication détaillée de l'exemple de code des génériques Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal