我正在学习使用JMonkey api构建表面。班级Surface
有一个方法
createNurbsSurface(controlPoints, nurbKnots, uSegments, vSegments, basisUFunctionDegree, basisVFunctionDegree).
我试图用一个简单的例子来理解参数的含义。但是,我无法初始化第二个参数:
List<Float>[] nurbKnots
我试过了:
List<Float>[] nurbKnots = {new ArrayList<Float>()};
但它抱怨您无法创建List<Float>.
有人可以告诉我如何初始化此nurbKnots.
答案 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);
但是,它有效!