Java - 帮助将String转换为类对象

时间:2012-07-23 23:05:14

标签: java string object

这是我想要获得的最终结果:

ItemStack block = new ItemStack(Block.dirt, 1);

这就是我所拥有的

    String s = "Block.dirt";    
    ItemStack block = new ItemStack(    , 1);

有点看起来不可能,但有没有办法将字符串“Block.dirt”变成Block.dirt?

我尝试了很多东西,有些人建议我使用GroovyShell和Binding,但我不能这样做。

有没有办法从字符串中命名对象?

非常感谢任何帮助。 谢谢。

我可以举个例子吗?

3 个答案:

答案 0 :(得分:1)

为什么你不能这样做?或者使用像MVEL等评估引擎?

在任何情况下,您都可以拆分字符串,根据类名实例化,并使用反射来调用方法。或者,在这种情况下,请根据您提供的代码段调用静态方法。

如果不知道你实际尝试过什么不起作用,不知道还有什么可以提供帮助。

答案 1 :(得分:1)

当然 - 人们一直这样做。例如,当他们打开JDBC连接对象时。

你想要“class.forName()”:

  

http://www.theserverside.com/news/1365412/Understanding-ClassforName-Java

     

在Java中,动态加载通常通过调用来实现   类java.lang.Class上的forName方法

以下是一篇关于“反思”的文章:

http://java.sun.com/developer/technicalArticles/ALT/Reflection/

答案 2 :(得分:0)

是的,您需要使用reflection API

相关问题