2017-10-06 208 views
-2

在你爲冗餘而低調提出這個問題之前,請聽我說。我正在尋找一種將Object類型(如可存儲多種不同類型的通配符類型)轉換爲int類型的方法。在我所有的搜索中,我都沒有在網站上找到這個問題的答案。如何在Java中將對象類型轉換爲int類型?

我有一個Object[]數組只存儲整數,我需要使用其中一個整數執行一些數學運算。例如int result = array[3] + 2;。除非我可以將Object轉換爲int,否則此算術將不起作用。

+5

如果你的'對象[ ]'數組只存儲整數,爲什麼不用'Integer []'或'int []'來代替?這會讓你的生活更輕鬆。 – dave

+1

將'Object'強制轉換爲'Int'有什麼不對? – sam

+1

嘗試將其轉換爲'Integer',然後將其解除爲「int」。 – msagala25

回答

1

是說Integer[]int[]對問題的解決方案,其他人是很。但是,在某些情況下,我們應該遵循一些要求。因此,包含數字的Object可以鑄造到Integer,並將其解除到int更有可能是OP需要的。

+0

如果'Object'包含一個「數字」,則不一定可以轉換爲'Integer' ...使用'((Number)obj).intValue()'而不是... –

+0

OP已經特別聲明它'store only integers'' – EJP

+0

是的,我同意Sir @EJP,OP說他只會存儲數字,但他使用Object []而不是'Integer []'或'int []'。 '列表'也會這樣做,但正如我所看到的,OP是這樣想的,而且我們不知道的原因有一些。同時,我認爲我們應該回答他想要的,但是建議他和其他人這樣的操作是不對的。 – msagala25

-1

我有一個Object[]陣列存儲僅整數

解決方案:不要。使用Integer[],或更好的int[],因爲@dave已經告訴過你。

兩次施放對象的建議效率低下且容易出錯。

不要因爲輸入錯誤而導致下游問題。作爲一個好處,如果你斷言它只存儲了整數,結果是不真實的,你現在將在編譯時而不是在運行時找到它。當只有數字將在陣列中加入

+0

我的工作流程要求它是對象[] –

+0

需要它爲什麼?你的'工作流程'要求你在流程的兩端建立故意的低效率? – EJP

+0

調用人名並不能回答他們問你的問題,而且正確的答案往往在於改變上游方面的情況。需要它爲什麼?在你的問題中,我也沒有發現任何關於這些涉嫌工作流程要求的內容 – EJP

0

如果自己定義對象數組,我覺得你可以使用int數組,如果其他方法返回此數據類型,U可以轉換爲int,但你需要檢查對象數組元素是否爲

相關問題