【发布时间】:2023-03-07 14:05:01
【问题描述】:
public class A{
private String A1;
private B b;
public class B{
private String B1;
private C c;
private D d;
public class C{
private String C1;
}
public class D{
private String D1;
}
}
我有以下类结构有时更多的内部类,当我用泛型类实例化时,只调用构造函数 A 并实例化对象 A,有没有办法为所有内部类实例化所有对象有各自的默认构造函数。
我正在使用的泛型类如下。
public class GenericClass<O> {
private Class<O> clazz;
public GenericClass(Class<O> clazz){
this.clazz = clazz;
}
public O get() throws InstantiationException, IllegalAccessException{
return (O) clazz.newInstance();
}
}
当我只做clazzO.newInstance() 时,B 和 C 将指向 null。在不明确担心所有内部类实例化的情况下,我可以一次完成吗?!
UPDATE:我已经更新了课程代码, 这是我将通过 Jackson 获得的示例 XML。
<?xml version="1.0" encoding="UTF-8"?>
<A>
<A1>Outer Class A</A1>
<B>
<B1>Class B</B1>
<C>
<C1>Class C</C1>
</C>
<D>
<D1>Class D</D1>
</D>
</B>
</A>
【问题讨论】:
-
您是否有特定原因要实例化所有内部类?
-
是的,我正在尝试将它映射到 XML - 使用 Jackson,有时我不需要所有类对象,有时我需要所有对象。根据我的要求,我必须实例化所有必要的对象以形成外部类对象 A。我正在寻找一种方法以某种方式使用所有内部类的默认构造函数进行实例化,并计划
set只需要内部成员,我不希望任何内部类对象指向 null。 -
@Ivonet 我会忽略它。
-
对于所有投反对票的人,我想知道如果我实例化所有内部类对象会产生什么错误功能,我只是要求一种更简单的方法,我没有要求@GhostCat 建议什么,请问有没有办法一次性搞定!!请正确阅读问题。在投票赞成或反对之前。
-
我认为这是典型的xy 问题情况。你可能会更好地给出一个小但“完整”的图片。因此,请向我们展示一些 xml,以及您的 pojo 类以及您打算在这里实现的目标。
标签: java scope inner-classes