黑马程序员技术交流社区
标题:
如何用反射得到数组的类型
[打印本页]
作者:
alax
时间:
2014-5-21 03:34
标题:
如何用反射得到数组的类型
如何用反射得到数组的类型
作者:
艮昕辶
时间:
2014-5-21 15:36
package test;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Demo1 {
/**
* @param args
* @throws IllegalAccessException
* @throws InstantiationException
* @throws SecurityException
* @throws NoSuchMethodException
* @throws InvocationTargetException
* @throws IllegalArgumentException
*/
public static void main(String[] args) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException {
// TODO Auto-generated method stub
System.out.println(int[].class.getName());
for(Field field:int[].class.getFields()){
System.out.println(field.getName());
}
for(Method method:int[].class.getMethods()){
System.out.println(method.getName());
}
for(Constructor constructor:int[].class.getConstructors()){
System.out.println(constructor.getName());
}
}
}
复制代码
作者:
曾倩倩
时间:
2014-7-1 09:47
package cn.baayong.thread;
import java.lang.reflect.Method;
// 2014-2-26 下午02:18:17 created by haobo56
public class Test {
public static void main(String[] args) {
//构造对象
User user = new User();
String strs[] ={"1","2","3"};
user.setStrs(strs);
Method[] methods = user.getClass().getMethods();
for(Method m:methods){
String methodNames= m.getName();
if(methodNames.equals("getStrs")){
try {
Object obj =m.invoke(user, new Object[]{});
if(obj instanceof java.lang.String []){
String tempstrs [] =(String[]) obj;
for(String str:tempstrs){
System.out.println(str);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
class User{
private String strs[];
public String[] getStrs() {
return strs;
}
public void setStrs(String[] strs) {
this.strs = strs;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2