2013-04-21 2 views
0

나는 JMonkey API를 사용하여 서페이스를 만드는 법을 배우고 있습니다. 클래스 Surface 내가 인수의 의미를 이해하기 위해 간단한 예제를 만들기 위해 노력하고리스트의 배열을 초기화하는 방법 <Float>

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

하는 방법이있다.

List<Float>[] nurbKnots 

내가 시도 : 그러나, 나는 두 번째 인수 초기화 할 수 없습니다

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

을 그러나 당신이

사람이 어떻게 저를 보여줄 수 List<Float>.의 일반적인 배열을 만들 수 없다는 불평 이것을 초기화하십시오 nurbKnots.

+0

'nurbKnots'의 유형은 무엇입니까? – NINCOMPOOP

+0

유형이 목록 [] – Esther

+0

코드를 확인하고 작동하는지 확인하십시오! – NINCOMPOOP

답변

0

비제로 List :

List[] listNonGeneric = new ArrayList[10]; 

하지만이 작동하지 않습니다는 :

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

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

컴파일 할 수 있지만 오류가 발생했습니다 : java.lang.ClassCastException : [Ljava.lang.Object; [Ljava.util.List; \t (br.unesp.lbbc.testes.TestaJMonkey) (TestaJMonkey.java:51) \t at br.unesp.lbbc.testes.TestaJMonkey.main (TestaJMonkey.java:69) – Esther

0

한 친구 도움으로 인수를 전달 :

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

당신은 사용해야합니다.

In Java, it's not really possible to have arrays of generic types (safely). You have to allow unchecked assignment. Something like:

@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); 

를, 그것은 일 : 그는 나에게 말했다!

관련 문제