【发布时间】:2017-01-13 01:39:16
【问题描述】:
我对 Java 比较陌生,并且研究过反射功能,但由于某种原因无法弄清楚以下内容:
我需要获取实例化类的字符串名称。似乎我找不到通过反射来做到这一点的方法,所以我想动态添加一个类属性,该属性将包含类名称作为字符串。
我该怎么做?
另外,我想在类中创建一个公共字符串属性,我在构造函数中分配实例化类的名称。也没有真正弄清楚如何做到这一点。
【问题讨论】:
-
为什么不直接使用
instance.getClass().getName()? -
谢谢,乔恩。想到了这一点,但这会返回类的名称而不是实例化的名称。我确定我混淆了术语。类:org.myapp.MyClass 实例:MyClass myNewClass = new MyClass():我需要的是 myNewClass 的字符串。
-
你的用例是什么?
-
哦,我明白了,这些信息并不总是可用的(不过,java 8 有一个特殊的编译器选项。)。它不能通过引用本身获得,而是通过声明的类或方法获得。
-
需要使用 Selenide/Selenium 遍历一堆 HTML 页面输入字段。我正在从配置文件中读取字段列表,并使用配置文件中的字段名称创建表单字段类。因此,每个字段都有自己的类。我需要稍后获取字段名称以进行设置,而无需静态指定字段名称。希望这是有道理的。
标签: java dynamic reflection properties