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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© alax 中级黑马   /  2014-5-21 03:34  /  2178 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何用反射得到数组的类型

2 个回复

倒序浏览
  1. package test;

  2. import java.lang.reflect.Constructor;
  3. import java.lang.reflect.Field;
  4. import java.lang.reflect.InvocationTargetException;
  5. import java.lang.reflect.Method;

  6. public class Demo1 {

  7.         /**
  8.          * @param args
  9.          * @throws IllegalAccessException
  10.          * @throws InstantiationException
  11.          * @throws SecurityException
  12.          * @throws NoSuchMethodException
  13.          * @throws InvocationTargetException
  14.          * @throws IllegalArgumentException
  15.          */
  16.         public static void main(String[] args) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException {
  17.                 // TODO Auto-generated method stub
  18.                
  19.                
  20.                 System.out.println(int[].class.getName());
  21.                 for(Field field:int[].class.getFields()){
  22.                        
  23.                         System.out.println(field.getName());
  24.                 }
  25.                 for(Method method:int[].class.getMethods()){
  26.                        
  27.                         System.out.println(method.getName());
  28.                 }
  29.                 for(Constructor constructor:int[].class.getConstructors()){
  30.                        
  31.                         System.out.println(constructor.getName());
  32.                 }
  33.         }

  34. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
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;
    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马