【问题标题】:how to convert a String to Object in JAVAJAVA中如何将字符串转换为对象
【发布时间】:2016-05-15 01:01:42
【问题描述】:

我正在从Database 中检索一个String 变量并将其存储在一个变量中。

String name = "Peter"     ---- >(retrieved from the database)

我已经有一个名为Peter 的课程。我需要使用检索到的变量name 来初始化类。

假设,无论String 是从数据库中检索到的,我的包中都为它定义了一个类...

有没有办法为我从Database 检索到的String 创建一个Object

【问题讨论】:

  • 如果您的 Peter 字符串采用 json 格式,您可以反序列化并将其“转换”为 Peter 对象
  • Peter 刚刚来自 SQL 表。它只是作为字符串出现。(通过执行 sql 选择调用)
  • @Gowtham Shankar : 你应该在这里添加代码 sn-p
  • 彼得长什么样子? ??

标签: java string object


【解决方案1】:

使用Class.forName() - java.lang.reflect 如果我们知道类的名称并且如果它有一个公共的默认构造函数,我们可以通过这种方式创建一个对象。

Class myClass = Class.forName("MyClass");

Class[] types = {Double.TYPE, this.getClass()};
Constructor constructor = myClass.getConstructor(types);

Object[] parameters = {new Double(0), this};
Object instanceOfMyClass = constructor.newInstance(parameters);

Java how to instantiate a class from string

【讨论】:

  • 如果我们不知道类名怎么办?这就是我的场景
【解决方案2】:
Class.forName(name).newInstance()

【讨论】:

  • 你也可以评论。
猜你喜欢
  • 1970-01-01
  • 2015-05-24
  • 2020-04-19
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-12
  • 2011-08-30
相关资源
最近更新 更多