2012-08-01 336 views
2

我得到這個奇怪的錯誤,java.lang.Error的 - 未解決的編譯錯誤

java.lang.Error: Unresolved compilation problem: 
    The code of method render(GameContainer, StateBasedGame, Graphics) is 
    exceeding the 65535 bytes limit 

人們一直告訴我要打破字節或東西,我不知道他們的意思或如何做它渲染是一個虛擬的圖形g和基於狀態的遊戲和遊戲容器。有人可以向我解釋如何解決它?

+0

「渲染」的方法要大(字節代碼超過64k限制)。您需要將它分開,以便更好地管理代碼段。 – MadProgrammer 2012-08-01 23:18:34

+0

重構。用他們自己的方法拆分零件。 – 2012-08-01 23:19:13

+0

@ user1569948 - 我絕對好奇你是如何設法做到這一點的?問:你的班級有多少行?問:你有沒有真正長的「開關」塊?還是很多內部類?超過50行的方法?等等。 – paulsm4 2012-08-01 23:53:19

回答

2

正如指出的here,談論類:

的code_length項的值必須小於65536

這意味着,你不能去通過原始字節碼的64KB 。

在任何情況下,我認爲這是你的問題最少的,因爲你不應該在單個文件中達到這個限制。就掏出類:

  • 如果您正在使用內部類只提取到分隔的文件
  • ,如果你不使用內部類則應該是真的錯了代碼,因爲這意味着真正渴望的方法,考慮重構方法
相關問題