我现在只知道一个类名,我想用反射得到他里面所有的set方法,怎么得到?

解决方案 »

  1.   

    这个问题是不是应该放在Java版呀import java.lang.reflect.*;
    public class A {   public void getT(){
       };
       
       public void setT(){
       };
        public static void main(String args[]) {
            try {
                Class c = Class.forName(args[0]);
                Method m[] = c.getDeclaredMethods();
                for (int i = 0; i < m.length; i++)
                    if(m[i].toString().contains("set"))
                      System.out.println(m[i].toString());
                    
            } catch (Throwable e) {
                System.err.println(e);
            }
        }
    }Java A A
      

  2.   

    很简单,用getMethods()方法; Class iile =Class.forName("digui.Iile");
    Object  ii = iile.newInstance();
                    // 返回实体
    Method[] m= iile.getMethods();
                    // 返回方法数据,包括Object的所有方法;
    for(int i=0;i<m.length;i++) {
    if(m[i].getName().equals("wait"))
                            // 判断是否是Object的方法,因为他方法输出优先级先是自定义的方法,最后才是Object定义的方法,故此在这里判断下是否到
                            // Object的方法,如果是Object方法便表示,自定义方法已经全部输出;
    return ;
    System.out.println(m[i].getName());
    m[i].invoke(ii,null);
    }
      

  3.   


    可以试试使用apache-commons-beanutils来处理。