通用unmodifiableList

时间:2017-07-27 08:31:01

标签: java arrays generics collections unmodifiable

我写道:

this.array = (X[]) Array.newInstance(init.getClass(), size);

// ...

public List<X> get()  {        
    return Collections.<X>unmodifiableList(this.array);
}

但我收到错误:

  集合中的

unmodifiableList不能应用于(X [])

如何创建通用的不可修改列表?

2 个答案:

答案 0 :(得分:2)

你需要这样做:

public List<X> get()
{
    List<X> modifiableList = Arrays.asList( this.array );
    return Collections.unmodifiableList( modifiableList );
}

答案 1 :(得分:1)

你可以这样做:

public List<X> get()  {
    return Collections.unmodifiableList(Arrays.asList(this.array));
}