比如说我现在定义了两个变量...
String a = "Test"
String b = "a"
System.out.println(b);  如果这时我想打印b 中的a所指向的内容...也就是"Test"这时应该怎么办啊...

解决方案 »

  1.   

    toString 打出来不是a  吗?  我要的是a 里面的内容...也就是"Test"
      

  2.   

    这个能实现吗?我记得以前foxbase有个宏替换,才有这样的功能。
      

  3.   

    为啥非要那样做呢?
    直接b = a不就好了
    下面代码参考一下import java.lang.reflect.Field;public class Demo {
        private String a = "test";
        private String b = "a";    private String getValue(Demo d,String fieldName){
            String temp = fieldName;
            Field[] fields = d.getClass().getDeclaredFields();
            for (int i = 0, l = fields.length; i < l; i++) {
                if (fields[i].getName().equals(d.b)) {
                    try {
                        temp = (String) fields[i].get(d);
                    } catch (IllegalArgumentException ex) {
                        ex.printStackTrace();
                    } catch (IllegalAccessException ex) {
                        ex.printStackTrace();
                    }
                }
            }
            return temp;
        }    public static void main(String[] args) {
            Demo d = new Demo();
            System.out.println(d.getValue(d, d.a));
            System.out.println(d.getValue(d, d.b));
        }
    }
      

  4.   

    先把(变量名--内容)通过HashMap存储。
    再对b字符串内容解析。
      

  5.   

    To  swandragon:  首先很感谢你的回答..但这种方法好像达不到我的需求... 我说一下我真正的需求吧...
    我是想实现一个虚拟按键的功能.
    Robot robot = new Robot();
    robot.keyPress(int para);
    robot.keyRelease(int para);这里的int para 是要传一个keyCode.  keyCode 在KeyEvent中定义为常量.比如...VM_A ,  VM_B , VM_F1 , VM_SHIFT(它们是static 数值变量)
    表现形式为: KeyEvent.VM_A   KeyEvent.VM_B  ......(数值常量)
    现在我想把这个东西封装一下...我的方法是PressKey(int keyCode); 只要传入keyCode,他就会同时调用keyPress和KeyRelease的方法.也就是让键盘按下和松开.
    在调用时.我输入 A  , 我希望他传过 KeyEvent.VM_A 去...我现在把他们连了起来..."KeyEvent.VM_"+"A" ..但它是一个字符串..我只想脱离那两个破引号..只传KeyEvent.VM_A(数值型) 过去...你们能理解我的意思吗?