Java 字符串 转换为对象名

比如一个对象名是person
我定义一个String类型的str=“person”
怎么把通过str拿到对象person,可以这样吗
flex是可以的。
我把问题说的明白些,例如下面有一个字符串常量的定义类ConstString
Public class ConstString{
private static String constString_1 = "aaaa";
private static String constString_2 = "bbbb";
private static String constString_3 = "cccc";
private static String constString_4 = "dddd";
private static String constString_5 = "eeee";
}
然后我想在下面这个类中调用ConstString中定义的常量字符串
public class Test{

for(int i=1;i<5;i++){
String str = "constString_" + i;
//下面通过字符串str得到与之对应的常量字符串的值,并输出,该怎么做
//我的目的是这样的,利用形如ConstString.str来拿到常量字符串的值,

}

如果你的person是连同包和类名一起的话,可以使用反射来创建对象
Object person = Class.forName(str).newInstance();
---------------------------------------------------
首先,由于你的那些属性全都是private,所以不可能再外部取得,起码要先改成public
改成public后则可以通过反射直接取得这个值。
写法:
String value = (String)ConstString.class.getField(str).get(str);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-29
class ConstString 里面的变量都是私有private的 如果要拿到里面的变量 需要为每一个变量写get(),set()函数 不然的话去掉private 将class改成static 的 然后 创建一个ConstString s 直接调用那些变量就行了
第2个回答  2010-06-29
通过反射拿到啊