我有這樣的方法:奇怪Arrays.asList()行爲
//not related to the error, but included for reference
ArrayList<ArrayList<Color>> a = new ArrayList<ArrayList<Color>>();
void addColorToList(float[] j) //this array always length 3
{
float[] k = Arrays.copyOf(j, 3);
Arrays.sort(k);
//Error in the following line
a.get(Arrays.asList(j).indexOf(k[0])).add(new Color(j[0], j[1], j[2]));
}
與此錯誤:
我已經決定了我的代碼總是調用a.get()
爲-1,因爲Arrays.asList(j). indexOf(k[0])
做找不到元素。但是,我不明白爲什麼這不起作用,因爲我期望它。我試着打印出Arrays.asList(j)
的結果,但我不確定結果如何:[[[email protected]]
。有人可以告訴我這是什麼問題嗎?
@OliCharlesworth使用'addColorToList((new Color(r.nextInt()))。getRGBColorComponents(new float [3]));''' r'是一個隨機'對象。另外,我已經打印了'j',關於它並沒有什麼特別之處。 – Azar