如何初始化List <float> </float>的数组

时间:2013-04-21 15:41:06

标签: arrays arraylist jmonkeyengine nurbs

我正在学习使用JMonkey api构建表面。班级Surface有一个方法

 createNurbsSurface(controlPoints, nurbKnots, uSegments, vSegments, basisUFunctionDegree, basisVFunctionDegree). 

我试图用一个简单的例子来理解参数的含义。但是,我无法初始化第二个参数:

List<Float>[] nurbKnots

我试过了:

List<Float>[] nurbKnots = {new ArrayList<Float>()};

但它抱怨您无法创建List<Float>.

的通用数组

有人可以告诉我如何初始化此nurbKnots.

2 个答案:

答案 0 :(得分:0)

适用于非通用List

List[] listNonGeneric = new ArrayList[10];

但这不起作用:

List<Float>[] listGeneric = new ArrayList<Float>[10];

你必须使用:

List<List<Float>> nurbKnots = new ArrayList<>();

并将参数传递为

(List<Float>[])nurbKnots.toArray();

答案 1 :(得分:0)

一位朋友帮了忙。他告诉我:

  

在Java中,不太可能拥有泛型类型的数组(安全)。您必须允许未选中的作业。类似的东西:

@SuppressWarnings("unchecked")
List<Float>[] f = new List[2];
f[0] = new ArrayList<Float>();
f[0].add(0.1);
f[1] = new ArrayList<Float>();
f[1].add(0.2);

但是,它有效!