gpt4 book ai didi

java - 使用反射获取字段的初始化值

转载 作者:行者123 更新时间:2023-11-30 06:26:10 24 4
gpt4 key购买 nike

public class MyClass {
private String s = "foo";
}

是否可以使用反射获取 “foo” 而不必实例化一个新的 MyClass

Field field = MyClass.class.getDeclaredField("s");
// -- ideally: --
// Object initializationValue = field.getInitializationValue();
// assert initializationValue.equals("foo");

最佳答案

您所展示的初始化语句实际上已由编译器移入类的构造函数中。您需要实际实例化一个类才能执行它们。当然,这一切都在幕后。但是在回答你的问题时,不,你不能,无论如何都不能反射(reflection)。

但是您可以使用 Soot 等静态分析工具来确定这些字段值。

关于java - 使用反射获取字段的初始化值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14773642/

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