日期:2014-05-17  浏览次数:20646 次

判断参数类型
各位好:
我有个方法
public void meth(User user ,String name,boolean bo,int i){}
用java反射机制想判断参数类型
parameterType.getName().equals("boolean");
parameterType.getName().equals("int");
基本数据类型都可以判断,
现在我想判断参数是不是一个类(比如User),怎么判断呢,我不想判断具体哪一个类
(我感觉其实就是类的父类或者接口,,,或者类是从哪过来的)
那位高手来指点一下,谢谢。。。。



------解决方案--------------------
public void test(Object object){
if(object instanceof User){
System.out.println("正确");
}
}
------解决方案--------------------
探讨

刚才有点错了,如果知道一个类的父类
父类还有个父类
父类再有个父类
你能通过第一个类User找到他的最顶端类 吗》》你不知道继承了几次
如果用User。getSuperClass只能找到上一个。。不知道最上面一个怎么办》》

------解决方案--------------------
一个判断son是否直接继承自father的简单函数

Java code
 public static boolean meth(Class<?> son, Class<?> father) {
  return son.getGenericSuperclass() == father;
 }


System.out.println(meth(User.class, Object.class));

------解决方案--------------------
if (obj instanceof User){
User user = (User)obj ;
user.get...
}