Java中是否可以声明一个数组,另其成员全都是一个List<Float>?
发布网友
发布时间:2023-10-18 20:11
我来回答
共5个回答
热心网友
时间:2023-10-19 00:29
声明可以,但想赋值的时候会是这个样子Cannot create a generic array of List<Float>
下面这种方式是可以的,不会报错:
List[] arr = {new ArrayList<Float>(),new ArrayList<Float>(),new ArrayList<Float>()};追问这样是可以,但是这里要填的new ArrayList()的数量会相当的巨大,是否有更好一点的办法呢?
热心网友
时间:2023-10-19 00:29
可以声明一个类,此类的成员变量都是List<Float>,例如:
/**
* @author admin
*
*/
public class FirstArray
{
private List<Float> li;
/**
* @param l
*/
public FirstArray(List<Float> li)
{
this.li = li;
}
}
//使用
List<Float> li = new ArrayList<Float>();
FirstArray[] fs = { new FirstArray(li) };追问这样是可以用了,但是为什么我用fs[0]的时候没问题,一用fs[1]的时候它就会报数组越界的错误呢?
追答FirstArray[] fs = { new FirstArray(li) };
fs里面只放了一个值,所以fs[0]是没错的,fs[1]当然越界。
热心网友
时间:2023-10-19 00:29
java是面向对象的,只能说你声明一个数组类,成员变量有数组,list什么的。
热心网友
时间:2023-10-19 00:30
声明可以,但想赋值就难
貌似数组类型一般不会定义为集合类型,很怪
热心网友
时间:2023-10-19 00:31
可以,泛型嘛