2011-12-16 69 views
3

我不確定GWT客戶端的「如何實現常量」。Java/GWT客戶端的常量:static final vs枚舉

我在這裏看到了一些關於它在stackoverflow上的問題,such as this for example,雖然它討論了Java 5中的enum vs static final,甚至提到了有關GWT的任何內容。

所以我的問題是哪個是最輕和/或更好的方式來實現GWT應用程序的客戶端的常量。

謝謝。

回答

3

當然static final是比enum更輕的重量。然而,靜態最終還是有一個問題。如果您編譯導入靜態最終的源代碼,那麼它會進行優化,並在類中複製。這意味着當你以後更改該常量的值,這不一定檢測到(不再導入,不重新編譯)。這不會發生在枚舉上,枚舉有更多的用途。 static final可以放在一個Interface中,然後被縮寫。

+0

嗯,我已經用常量的靜態最終接口。所以,這更輕量級,但是,我失去了使用枚舉的開關箱功能。所以,我必須選擇:光與開關盒的功能......謝謝,夥計! – caarlos0 2011-12-16 15:49:07