我有一個Stack
Integer
s。我需要array
的double
s。如何將一堆整數轉換/轉換爲一個雙精度數組?
我知道堆棧有Stack#toArray
,但是這返回一個Object
數組。
這是如何完成的?
我有一個Stack
Integer
s。我需要array
的double
s。如何將一堆整數轉換/轉換爲一個雙精度數組?
我知道堆棧有Stack#toArray
,但是這返回一個Object
數組。
這是如何完成的?
你不能這樣做,除非你反覆做。
我認爲,你可以投由堆棧#指定者返回迭代整數對象數組...
一般來說,獲得這樣的一個具體類型的數組:
Integer[] array = stack.toArray(new Integer[stack.size()]);
但由於您需要更改陣列的類型,你最好迭代:
int i = 0;
double[] doubles = new double[stack.size()];
for (Integer value : stack) {
doubles[i++] = value.doubleValue();
}
這是不可能的垂頭喪氣陣列,但幸運的是指定者()的其他簽名,它允許您提供一個ARR正確的類型。但在這種情況下它不會有幫助,因爲它被要求從Integer轉換爲double。 –