日期:2014-05-20  浏览次数:20720 次

如何将java中的字符串转换为一个变量?求高手指教
比如:
String[] strs = {"name","age","sex"};
String name = "张三";
System.out.println(name);//输出张三
convertMethod(strs[0]) = "李四";//此处的convertMethod()方法是对变量name重新赋值为李四
System.out.println(name);//输出李四

求此convertMethod()的具体实现,就像javaScript里面的eval()函数那样
Java

------解决方案--------------------
我觉得你是不是想要实现键值对哦

根据你的例子,我觉得可以用map哈

Map map = new HashMap();
//这里 name ="name", value ="张三";
map.put(name,value);
String value =map.get(name);
------解决方案--------------------
用java的动态编译
是否可以实现像javaScript中的eval()函数?
------解决方案--------------------
convertMethod(strs[0]) = "李四"

这句好诡异的感觉
------解决方案--------------------
把此字符串拼成一个Json的格式,然后用Java的Json工具包转换成你指定的类(即Bean)
------解决方案--------------------
eval函数也没办法将一个值转换为变量的
------解决方案--------------------
你要求的这种应该实现不了,而且也没有什么意义啊,只要修改成name = convertMethod(name); 就可以达到你要的效果。
你应该是c程序员转过来的吧,一般只有c程序员才会那样写。
------解决方案--------------------
变量不可能做到的,类的成员变量倒是可以,用反射可以得到该成员再进行赋值。