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

零下一度
零下一度original
2017-06-01 10:14:241654parcourir

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;
    }
}

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;
    }
}

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;
    }
}

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;
    }
}

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());
    }    
}

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

Iphone
XiaoMi
HuaWei
Vivo
Oneplus

[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!

Déclaration:
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