2016-02-05 124 views

回答

2

循環並確保每個Object []是Double []。注意你不能在這裏使用原始的double,因爲這不是一個Object。

boolean allDoubleArr = true; 
for(Object[] o : args) { 
    if(!(o instanceof Double[])) { 
     allDoubleArr = false; 
     break; 
    } 
} 
+0

@DalaiLlama它是一個Double []目的,因爲當前問題是該方法獲得Object []的可變參數,所以我循環遍歷每個數組。 –

+0

double []是一個對象。雙重不是一個對象。 – Samuel

+0

@Samuel如果你讀了我的回答,我記下了這一點。 –

0

遍歷的參數,並檢查:

if (obj instanceof Double) 

對象[]意味着陣列可以容納雙,以及整數值。

0

可以使編譯器靜態類型,通過改變你的方法的簽名本籤:

public void test(Double[] ... args) {} 

現在Java編譯器將強制執行它,以便test()只能Double[]參數來調用。

如果你真的需要做一個動態類型檢查,那麼我投票支持@George Mulligan的回答。

相關問題