public class Test{
    public static void main(String[] args){
       String a="abc";
       show(a);   
    }    public static void show(String b){
       //在这里想通过形参b来或实参a的名称
         //输出a
    }
}
.net可以使用lamda表达式获取。java该怎么获取啊??

解决方案 »

  1.   

    你的意思是想获取"abc" ,还是"a"?
      

  2.   

    如果是前者直接在show里System.out.println(b);
    如果是后者,要用到ClassLoader
      

  3.   

    这个应该是拿不到了
    因为在java中,show(a)这里是值传递,也就是传入show()方法的是值“abc”,所以这里应该是取不到值“abc”对应的变量名了
    另外,我不知道在方法中取到一个变量名称(而不是变量值),会有什么意义。
      

  4.   

    主要在搭建SSH的时候的数据层那里,想写个通用的DAO。根据命名规范,来区别本地SQL和HQL等等,自己本来想传个枚举的参数来判断,但是我想更加精简点。(想法就是对外提供的接口简单点,重载少点)
      

  5.   

    因为在.net里面使用了lamda实现了效果,但是在java里面却始终弄不出来。实在不甘心
      

  6.   

    反射也研究得差不多了,貌似实现这个很困难,我都想读class字节码文件了,悲剧中