2011-08-26 99 views
21

例如,JDK 7可以使用switch(String)而不是僅切換(Number/Enum)。GWT與JDK 7新功能的兼容性

如果我寫了一個GWT客戶端,它的代碼中有switch(String),會不會有問題?

switch(String)是我能想到的問題之一。在switch(String)之外是否存在兼容性問題?

+0

你嘗試過了(這可以通過使用 -sourceLevel 6覆蓋 )? – helpermethod

+2

@OliverWeiler:即使你能自己找出問題也沒有問題。這個問題/答案爲我節省了很多時間。 –

+0

您可以隨時使用JDK7進行編譯,但不能使用這些功能。這仍然是一個選擇。 – Brian

回答

11

GWT才正式支持Java 5,它不支持的一些Java 6中的,雖然,如允許@Overrides上實現一個接口方法的方法,並String.isEmpty(儘管一個是關於運行仿真,所以它不涉及語法和編譯器)。

順便說一下,GWT使用Eclipse JDT進行分析,並且還沒有發佈支持Java 7的應用程序(儘管應該來自really soon)。一旦完成,GWT將不得不進行更新,以考慮到Java 7添加的新「語法糖」。當時間到了(可能不會很快來臨,唉),我打賭開關字符串將會成爲第一個受支持的功能之一,因爲JavaScript支持它(所以它應該像從Java到JS一樣轉換爲整數時很容易)。

又見https://groups.google.com/d/topic/google-web-toolkit/dM8D9imIvAI/discussion

+1

我相信Java 6是正式支持的。 – anjanb

+0

將來可能會支持某些Java 7。請參閱https://gwt-review.googlesource.com/#/c/2650/和https://gwt-review.googlesource.com/#/c/2681/) – Gewthen

11

作爲最後的答案是從2011年8月,這裏是爲GWT 2.5的更新:對Java 7仍然沒有支持,請參閱Release Notes for GWT 2.5 RC2(沒有從RC2至2.5的最終變化)。

+0

似乎是這樣。我想嘗試使用java.util.Objects而不是Guava的,但是GWT扼殺了它,儘管這個類在官方的白名單中。除非我在配置中遺漏了一些東西...... – PhiLho

+2

這裏是一個更新:開發已經在進行中,詳情請看#7999。幾天前,所有的Java 7特性都被提交併通過審查。運行時仿真仍然需要一些工作。 請參閱:http://code.google.com/p/google-web-toolkit/issues/detail?id = 7999 – snorbi

+1

另一個更新,來自@snorbi的鏈接:https://code.google.com/來自9月11日的p/google-web-toolkit/issues/detail?id = 8044#c10似乎將Java 7支持標記爲「Milestone-2_6」的「FixedNotReleased」 – jfrantzius