gpt4 book ai didi

java - 如何从字符串中获取类型?

转载 作者:行者123 更新时间:2023-11-29 08:55:16 24 4
gpt4 key购买 nike

具体来说——我什至不知道这是否可能,但可能有一些我遗漏的东西。我需要从 String 获取类类型并将其用作通用类型:

//Don't mind this
String columnName = n.getAttributes().getNamedItem("name").getTextContent();

//That would be canonical class name
String columnType = n.getAttributes().getNamedItem("type").getTextContent();

Column<**Type from columnName**> col = new Column<>(columnName);

这样的事情甚至可能吗?

最佳答案

不太明白你的意思。

但是要从字符串中获取类型,您必须使用

Class clazz = Class.forName("YourString");

如果类加载器能够将您给定的字符串解析为位于类路径,它将为您提供一个类类型的实例。

用表达式

Object obj = clazz.newInstance();

您可以创建此类型的实例。

我认为存在这样的表达方式

ArrayList<? super Double> list;

在你的情况下:

Column<? super GenericColumn> col = new Column<GenericColumn>(columnName);

这意味着你的类由适当的字符串给出必须继承自在运行时已知的 GenericColumn。也许这可以解决您的问题。

无论如何,在这种情况下,我认为泛型没有用。

关于java - 如何从字符串中获取类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20577948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com