A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 途中ms前进 中级黑马   /  2015-6-13 14:16  /  680 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//得到方法参数的实际类型
import java.lang.reflect.*;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.sql.Date;
import java.util.Vector;

public class GenericTest1 {
        public static void main(String[] args) throws NoSuchMethodException, SecurityException{
        Method applyMethod=GenericTest1.class.getMethod("applyVector",Vector.class);
        Type[] types=applyMethod.getGenericParameterTypes();
                ParameterizedType pType=(ParameterizedType)types[0];
                System.out.println(pType.getRawType());
                System.out.println(pType.getActualTypeArguments()[0]);
                //System.out.println(pType.getOwnerType() );
               
        }
        public static void applyVector(Vector<Date> v){
               
        }

}

5 个回复

倒序浏览
kikt 发表于 2015-6-13 14:50
注意下导入的包,一般来说在初学阶段很少用到sql下的Date类  一般都是util下的Date类,虽然sql的date是继承 ...

sql包下的Date类与util包下的Date类有和区别啊??
回复 使用道具 举报
kikt 发表于 2015-6-13 16:39
都是表示日期的,sql是数据
但是毕竟一个是另一个的子类
比如:有的方法需要的形参是sql下的Date,你就不 ...

我查了一下API啊,好像sql与util是不同的包啊,那么怎么判断哪一个是哪一个的子类呢???
回复 使用道具 举报
kikt 发表于 2015-6-13 16:59
API的类名下面描述的就是继承关系

这样啊,thanks 啊。。。初学啊 见谅。。。。
回复 使用道具 举报
长长的代码,看着头晕
回复 使用道具 举报
泛型是相当的便利
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马