当前位置:编程学习 > JAVA >>

如何获取传递过来的实参名称,大神求帮忙

需求:在一个类中 String c = "***";
              class.showName(c);

在另外一个类中有个方法是 showName(object tag){

System.out.println(tag)
}

这里的tag要的是c而不是c里面的值“***”

求大神解决下,小弟刚学java Java --------------------编程问答-------------------- LZ搞个Map<String,String> map
每定义一个变量,就put进去。后面操作map.entry,getKey就行了。 --------------------编程问答-------------------- 这个应该获取不到,换个思路吧。 --------------------编程问答-------------------- 使用映射可以输出
public class MyTools {
    public static void setAllComponentsName(Object f) {
        // 获取f对象对应类中的所有属性域
        Field[] fields = f.getClass().getDeclaredFields();
        for(int i = 0 , len = fields.length; i < len; i++) {
            // 对于每个属性,获取属性名
            String varName = fields[i].getName();
            try {
                // 获取原来的访问控制权限
                boolean accessFlag = fields[i].isAccessible();
                // 修改访问控制权限
                fields[i].setAccessible(true);
                // 获取在对象f中属性fields[i]对应的对象中的变量
                Object o = fields[i].get(f);
                System.out.println("传入的对象中包含一个如下的变量:
           " + varName +  " = " + o);
                // 恢复访问控制权限
                fields[i].setAccessible(accessFlag);
            } catch (IllegalArgumentException ex) {
                ex.printStackTrace();
            } catch (IllegalAccessException ex) {
                ex.printStackTrace();
            }
        }
    }

    public static void main(String[] args)
    {
            //  测试代码用来获取一个JLabel中声名的所有的属性名和其属性变量 
            setAllComponentsName(new JLabel("测试"));
    }
 } 


补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,