首页 > 解决方案 > teplate 类中的内部类对象数组

问题描述

根据我在这里从一个类中读到的 StackOverFlow 数组...,我希望下面的代码能够编译。我得到一个错误,“<identifier> 预期”。我使用 Array.newInstance 得到相同的结果。我究竟做错了什么?

import java.lang.reflect.Array;
public class Outer<E> {
    private Inner[] array;
    
    public Outer() {
        @SuppressWarnings("unchecked")
        array = (Inner[])new Outer<?>.Inner[10];
        //array = (Inner[])Array.newInstance(Inner.class, 10);
    }
    
    public class Inner {
        E data;
    }
}

标签: javaarrayscompiler-errorsinner-classes

解决方案


import java.lang.reflect.Array;
class Outer<E> {
    private Inner[] array;
    @SuppressWarnings("unchecked")
    public Outer() {
        array = (Inner[])new Outer<?>.Inner[10];
        //array = (Inner[])Array.newInstance(Inner.class, 10);
    }
    
    
    public class Inner {
        E data;
    }
}

禁止构造函数之外的警告


推荐阅读