JAVA反射之通过反射了解集合泛型的本质

原创 2016年08月30日 18:11:30


1.通过ClassMethod来理解泛型的本质

1.2.例如

public class MethodDemo2(){
    public static void main(String[] args){
        ArrayList list = new ArrayList();
        ArrayList<String> list1 = new ArrayList<String>();

        Class c1 = list.getClass();
        Class c2 = list.getClass();
        System.out.printlf(c1 == c2);
        //反射的操作都是在编译以后
 
        /*
         *返回结果为true则说明编译以后集合的泛型是去泛型化的;
         *集合的泛型是为了防止输入错误,java的泛型只在编译阶段有效,编译以后无效                        
         */
        try{
    	    Method e = c2.getMethod(“add”,Object.class);
            e.invoke(list1,10);
            System.out.println(list1.size());
            //会发现,size=1说明此时泛型失效了,并且注意list1此时不能用for循环遍历

        }catch(Exception e){
            e.printStackTrace();

        }
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java基础之三Collection和Map的区别

线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以...

JAVA集合详解(Collection和Map接口)

在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系:             java.util     ...

Java中的Collection和Map详解

线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以...

JAVA反射之方法反射的基本操作

1.什么是JAVA反射机制 1.1.JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用...

JAVA反射学习之——深入研究(反射与泛型)

JAVA反射学习之——深入学习     通过上节的学习,了解了反射的基本功能,下面关于反射有如下几个需要注意的地方。在学习JAVA与泛型之前,先说两个小知识点。     一、学会使用反射编写具...

Java反射(六)----- 通过反射了解集合泛型的本质

java中的泛型是JDK5中引入的新特性,允许在定义类和接口的时候使用类型参数,声明的类型参数在使用时用具体的类型来替换,泛型最主要是应用在集合类框架中。下面我们通过反射来进一步理解泛型的本质。 ...

Java反射机制之集合泛型的本质

package com.imooc.reflect; import java.lang.reflect.Method; import java.util.ArrayList; public cla...

Java 反射:Class类,动态加载类获取方法和成员变量构造信息,方法反射的基本操作,集合泛型的本质

概述 1.Class类   1) 在面向对象的世界里,万事万物皆对象。(java语言中,静态的成员、普通数据类型除外)            类是不是对象呢?类是(哪个类的对象呢?)谁的对象呢? ...

通过反射了解集合泛型本质

通过反射了解集合泛型本质

Java反射-泛型的本质

Class类的使用 类是java.lang.class类的实例对象(称为类类型 class type),而这个实例对象有三种表示方式 -第一种表达方式:任何一个类都有一个隐含的静态成员变量 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)