if(参数.class.isPrimitive()){
是基本类型
}else{
是封装类型
}
解决方案 »
- java.lang.ClassNotFoundException: com.qq.common.User
- java 二级
- 编译显示 Cannot find type 'Authenticator'
- 关于Package的简单问题???????????????????????????????
- jdk装完后打不开bin的lib中的dt.jar!就是经常要放在classpath中的那个!
- 问一个基础问题,急需解答!
- jdbc的驱动的载入问题,在线等!
- 求教了,在线等待,来者有分
- 请问(路人甲):我如何正确使用javax.sql,需要解开classes12.zip后把javax放入classpath中吗?
- 关于Scanner的方法问题
- java NIO里面的东西,帮忙解释一下
- 神,如何在子窗口中调用父窗口的变量?
type new_name = (type) fields;
}或者
反射判断呢
public class Tongxun { public static void main(String[] args) throws SecurityException,
NoSuchMethodException, IllegalArgumentException,
IllegalAccessException, InvocationTargetException {
Foo foo = new Foo();
Class clazz = foo.getClass();
Field[] fields = clazz.getFields();
for (Field field : fields) {
if (field.getType() == Integer.class) {
Method m2 = clazz.getDeclaredMethod("f", Integer.class);
m2.invoke(foo, 43454);
System.out.println("--Integer--");
}
if (field.getType() == int.class) {
Method m1 = clazz.getDeclaredMethod("f", int.class);
m1.invoke(foo, 12);
System.out.println("--int--");
} }
}
}class Foo {
public int x;
public Integer y; public void f(int x) {
System.out.print(x);
} public void f(Integer y) {
System.out.print(y);
}
}
Method met = obj.getClass().getMethod("方法名称", obj.getClass());
//获取方法内,所有参数的类型信息
Class cs [] = met.getParameterTypes();
for (int i = 0; i < cs.length; i++) {
//判读参数类型是否为指定类型
if (cs[i].getClass().getName().equals(int.class.getName())) {
}
}