2011-10-20 51 views
3

我在jre7上,但仍無法打開字符串。我安裝了jdk7 update 1並將Eclipse指向它,但仍然沒有運氣。任何想法我做錯了什麼?無法打開JRE7中的字符串

這裏是一個代碼:

String code = "something"; 
switch(code) { 
    case "xxx": dosomehting(); break; 
    default: dosomethingelse(); break; 
} 

的錯誤,我得到:

無法在String類型的值進行切換。只允許使用可轉換的int值或枚舉常量。

+0

您是否有支持Java SE 7的Eclipse版本? (例如版本3.7應該罰款AFAIK) – Puce

+0

發佈錯誤和代碼! –

+0

我在3.7,那應該沒問題。 – amnesyc

回答

1

聽起來你仍然試圖在舊的JDK下編譯安裝JDK,並確保你的Eclipse設置反映了新的平臺。此外,請檢查您的項目是否反映了JDK7平臺。

+0

我所做的是改變建立路徑,並使其指向jdk7中的新jre。現在Eclipse在構建路徑中顯示JRE系統庫[jdk1.7.0_01]。我還需要做什麼?有什麼方法可以改變正在使用的編譯器嗎? – amnesyc

+0

如果有辦法,試着讓eclipse運行javac -version或者ilk作爲post或者pre-compile步驟。我不使用日食,所以我不能給你確切的細節。但是,Netbeans/IDEA使用「平臺選擇」(如V​​S)類型接口在Java平臺/版本之間切換 – monksy

0

三樣東西映入腦海的檢查:

  • 確保Eclipse是不是仍然指向舊的(6)安裝JDK的。
  • 確保您沒有選擇較低的源級別進行編譯;例如。來源1.6。
  • 確保您使用的是支持Java 7語法的Eclipse版本。
2

我很確定Eclipse 3.7只支持jdk 1.6。你需要3.7.1根據 http://download.eclipse.org/eclipse/downloads/drops/R-3.7.1-201109091335/index.php

(記住:Eclipse不使用suns編譯器,它們使用自己的,所以安裝jdk 1.7是不夠的)。

只要打開eclipse並選擇幫助 - >檢查更新。 - 這應該升級到3.7.1

+2

在屬性 - > Java編譯器中,我獲得的編譯器合規性級別的最高級別爲1.6。所以我猜是封印的。我如何將Eclipse從3.7更新到3.7.1? – amnesyc

+0

我添加了關於從3.7升級到3.7.1的評論 - 這對我來說很簡單。 – MTilsted

+0

感謝Amnesyc,我知道這是一箇舊的線程,但我今天在Eclipse 4.2.2上遇到了這個問題,並且看着編譯器級別修復了我的問題。 – Patrick