Java泛型反射机制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java泛型反射机制相关的知识,希望对你有一定的参考价值。

/**
 * 
 * @author Administrator
 * 功能:泛型的必要性(参数化类型)(安全简单)
 */
package com.test;
import java.util.*;

public class Test {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
//        ArrayList al = new ArrayList();
//        //创建一只狗
//        Dog dog1 = new Dog();
//        //放入到集合中
//        al.add(dog1);
        //该句会报错,ArrayList返回的是Object类型的必须强转或者使用泛型
        //Dog temp2 = al.get(0);
//        //取出
//        //强制类型转换时要求开发者对实际参数类型可以预知的情况下进行的,编译器不提示错误
        //存在安全隐患
//        //Dog temp = (Dog)al.get(0);
//        
//        //编译器不报错,存在安全隐患,报类型转换异常
//        //Cat temp = (Cat)al.get(0);
        
        //泛型的好处是在编译时检查类型的安全
        //使用泛型不会报错
        ArrayList<Dog> al = new ArrayList<Dog>();
        Dog temp = al.get(0);
    }
}

class Cat
{
    private String color;
    private int age;
    public String getColor() {
        return color;
    }
    public void setColor(String color) {
        this.color = color;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    
    
}

class Dog
{
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    
    
}

 

以上是关于Java泛型反射机制的主要内容,如果未能解决你的问题,请参考以下文章

Java泛型反射机制

Java之反射机制六:获取方法的泛型信息

java 反射和泛型

注解和反射反射获取泛型反射获取注解

反射机制

编写高质量代码:改善Java程序的151个建议(第7章:泛型和反射___建议106~109)