gpt4 book ai didi

Java:强制字符串名称被接受为类?

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:19 24 4
gpt4 key购买 nike

我想打印出这样的声明:

Object SomeObject = new Object("object's name");
System.out.println(SomeObject.name);

除非不是在打印语句中指定对象的名称,而是指定一个先前已声明为现有对象名称的字符串。

示例:

Object SomeObject = new Object("object's name");
String object_string = "SomeObject";
System.out.println("object_string.name");

我知道第一个示例会打印出“对象的名称”。我希望第二个也能做同样的事情,但使用字符串。请注意,字符串的值与对象名称相同。显然第二个例子不起作用,因为 object_string 是一个字符串,而不是一个对象。

所以我的问题是,我可以强制 print 语句接受“object_string”作为对象的名称吗?

System.out.println("(Object)object_string.name");

也许是类似的事情?

谢谢

最佳答案

您正在寻找的称为“字符串插值”(至少在 Perl 中是这么称呼的,这是我最熟悉的示例),而 Java 没有它,抱歉。然而,有一些基于 Java 构建的工具可以在更专业的用例中提供类似的功能。例如,您可能对 JSP EL 感兴趣, OGNL ,或Spring EL .

但是请注意,所有这些都需要一些脚手架来设置,特别是,您在这些动态上下文中引用的对象必须首先放置到某种 map 或其他容器中。无法直接从局部变量引用它们。

另一方面,Groovy 等其他一些语言也内置了此功能。

关于Java:强制字符串名称被接受为类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7844586/

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