泛型与反射 演示

import java.lang.reflect.Method;

public class Test2 {
    public static void main(String[] args) {
        Gen<String> gen1=new Gen<String>("aaa");
        gen1.showTypeName();
    }

}
class Gen<T>{
    private T o;
    public Gen(T a) {
        o=a;
    }
    public void showTypeName(){
        System.out.println("该类型为:"+o.getClass().getName());
        //反射方法得到T类型的信息
        Method []m=o.getClass().getDeclaredMethods();
        for(int i=0;i<m.length;i++){
            System.out.println("该类型成员函数:"+m[i].getName());
        }
    }
}
时间: 2024-12-14 17:50:13

泛型与反射 演示的相关文章

框架学习前基础加强 泛型,注解,反射(泛型&注解)应用案例,IOC,Servlet3.0,动态代理,类加载器

泛型 1. 泛型类 :具有一个或多个类型变量的类,称之为泛型类! class A<T> { } 2. 在创建泛型类实例时,需要为其类型变量赋值 A<String> a = new A<String>(); * 如果创建实例时,不给类型变量赋值,那么会有一个警告! 3. 泛型方法 :具有一个或多个类型变量的方法,称之为泛型方法! class A<T> { public T fun(T t1) {} } fun()方法不是泛型方法!它是泛型类中的一个方法! pu

用泛型和反射实现函数通用

使用泛型和反射机制事项函数的通用,写下来,欢迎吐槽 代码示例使用vb. net Imports System.Reflection Module Module1 Sub Main() Dim lst1 As List(Of Person) = New List(Of Person)() Dim lst2 As List(Of Person) = New List(Of Person)() Dim lstT As List(Of Person) = New List(Of Person)() Fo

Java高质量代码之 — 泛型与反射

在Java5后推出了泛型,使我们在编译期间操作集合或类时更加的安全,更方便代码的阅读,而让身为编译性语言的Java提供动态性的反射技术,更是在框架开发中大行其道,从而让Java活起来,下面看一下在使用泛型和反射需要注意和了解的事情? 1.Java的泛型是类型擦除的????? Java中的泛型是在编译期间有效的,在运行期间将会被删除,也就是所有泛型参数类型在编译后都会被清除掉.请看以下例子? Java代码??? publicstaticvoid?test(List??testParameter)?

应用Java泛型和反射导出CSV文件

项目中有需求要把数据导出为CSV文件,因为不同的类有不同的属性,为了代码简单,应用Java的泛型和反射,写了一个函数,完成导出功能. public <T> void saveFile(List<T> list, String outFile) throws IOException { if (list == null || list.isEmpty()) { return; } if (StringUtils.isEmpty(outFile)) { throw new Illega

java 泛型深入之Set有用工具 各种集合泛型深入使用演示样例,匿名内部类、内部类应用于泛型探讨

//Sets.java package org.rui.generics.set; import java.util.HashSet; import java.util.Set; /** * 一个Set有用工具 * @author lenovo * */ public class Sets { public static<T> Set<T> union(Set<T> a,Set<T> b) { Set<T> result=new HashSet&

实施 ORM 的两项要旨:泛型和反射

鄙人认为,实施 ORM 的两项要旨乃泛型和反射.下面开始看看怎么为 DAO 层添砖加瓦. 首先,在 DBAccess 基础上扩展 DBAccessORM 接口,形成基于 ORM 的数据调用. /** * 数据访问对象 * * @author Frank Cheung * */ public interface DBAccessORM extends DBAccess { /** * 查询单笔记录,返回实体 * * @param sql * 原生 SQL 语句 * @param clazz * P

java5核心基础泛型(2):泛型在反射中的应用

如何通过反射获取指定参数类型的构造函数? 贴代码如下: package highBasic.generic; /** * 泛型入门 */ import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collection; public class GenericTest { public static void main(St

泛型和反射

泛型和反射经常是一起工作的,所以就一次介绍吧. c# 是强类型语言,一般上函数的返回类型和参数的类型都是一早些好的,也就造成了很多时候不像js那样方便使用,不灵话. 所以呢就有了这个泛型,它可以让你的函数和参数在调用的时候才决定类型. public T abc<T>(T word) { return word; return default(T); //关键字default可以对引用类型返回nullAble,int类型返回0,初始化一个T的感觉啦 } abc<string>(&qu

(十一)泛型、反射和异常

JavaSE(十一) --泛型.反射和异常 一.泛型 泛型是javaSE1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. 在javaSE1.5之前,没有泛型的情况下,通过对类型Object的引用来实现参数的"任意化","任意化"带来的缺点是要做显示的强制类型转换,而用这种转换的要求是要求开发者对实际参数可以预知的情况下进行的.对于强制类型转换错误的情况,