2010-07-12 44 views
0

我已經獲得了一個浮動數組,它被卡在ArrayList中。 arraylist包含一個布爾值和前面提到的浮點數組。我courrent代碼把它弄出來(不工作)是
如何從Java中的ArrayList中獲取float []

(float)((Float)((Number)(DXY.get(0)); 

我寧願沒有改變裏面的東西,但在絕對必要時我可以通過布爾如在1簡單的浮點數組。

ArrayList是從另一個類中的方法傳遞的,它的返回類型聲明爲ArrayList。

在此先感謝。

這是從一個臨時帳戶發佈的。

+0

這是一個臨時評論:-) – 2010-07-12 02:07:48

+0

你意識到你正在使用上述語句三次投射相同的對象?如下面提到的那樣(float [])DXY.get(0) – Matt 2012-06-12 14:55:55

回答

2

float數組是一個對象,所以你可以只投至:

float[] floatArray = (float[])DXY.get(0); 
2

的ArrayList包含布爾和 上述提到的float數組

我覺得你真的真的真的很想重新考慮這一點。你在問問題。即使沒有製作異構集合的泛型也不是一個好主意。一個集合應該只存儲類似的類型(最好都是一樣的,但父母/小孩的作品也一樣)。

從本質上講,如果你不能聲明ArrayList中,就像這樣:

List<Foo> list; 

list = new ArrayList<Foo>(); 

那麼你是讓你的生活更難比你需要。

你應該真的是這樣的:

public class Bar 
{ 
    private final boolean bool; 
    private final float[] array; 

    ... 
} 

,並有方法回報,而不是ArrayList中。

我曾經在一家做過類似工作的公司工作過,其中的一些方法都採用Map<String, Object>,其中String是參數名,Object是值。他們這樣做是爲了讓這些方法更加「動態」(例如,如果他們改變了參數的類型或參數類型,他們不想修復它們)。謝天謝地,我已經離開了公司,並且只能從一位朋友那裏得到它的信息......如果不是,我會當場退出。