2009-11-16 56 views
0

我可以在Java中執行此操作嗎?在運行系統中可以動態創建Java Array對象嗎?

在運行時:

int length =一些裝載長度

然後我用長度來做到這一點算術:

byte [] b = new byte[length]; 

這會不會扔運行時例外嗎?如果是這樣的話?

+3

你試過了嗎?如果是這樣,結果如何? – BalusC 2009-11-16 02:39:42

+0

它不顯示編譯時錯誤,但我在運行時收到錯誤,我不知道這是否是源代碼? – 2009-11-16 02:44:33

+0

您需要調查錯誤,而不是代碼。 – BalusC 2009-11-16 02:46:16

回答

1

沒有,不會在運行時拋出異常,當然,除非長度爲負。

+1

或者是一個很大的榮譽號碼:-) – paxdiablo 2009-11-16 02:49:43

+2

數組大小和索引是有符號整數,因此任何直到幷包括Integer.MAX_VALUE的數據都可以。如果內存不足,在技術上你不會得到一個異常,你會得到一個錯誤(OutOfMemoryError)。 :) – cletus 2009-11-16 02:58:34

0

是的,它可以在運行時創建。

但是你應該嘗試,看看:)

+0

爲什麼不使用ArrayList? – DarthVader 2009-11-16 02:41:10

+0

不能,我是一個有限的Java平臺,它沒有ArrayList類。 – 2009-11-16 02:45:12

+0

你爲什麼說你應該試試看?這個問題沒有任何具體的文件嗎? – 2009-11-16 02:45:52

0

我想你忘記了基本的概念,因爲對象是在comile時創建的,並且在運行時分配內存。

相關問題