我有一个没有默认构造函数的类。我需要一种方法来获取此类的“空白”实例。 “空白”表示实例化后所有类字段都应具有默认值 比如 null、0 等。
我问是因为我需要能够序列化/反序列化大树对象。而且我无法访问这些对象类的来源,并且类既没有默认构造函数也没有实现可序列化。尝试序列化这种结构可能不是一个好主意,但另一种方法是将其转换为更容易序列化的东西。
最佳答案
使用标准反射,没有,但是有一个库可以为您做到这一点:objenesis .
它专门设计用于实例化没有默认构造函数的类,它被其他序列化库使用,如 xstream .
注意:在这些情况下可能不会调用构造函数(但这可能是您想要的)。
关于java - 是否可以在 java 中使用反射创建没有无参数构造函数的类的 'blank' 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4133709/