0
代碼:Eclipse的自動完成
private final int A0 = 0;
private final int A1 = 1;
.....
int a = 0;
....
switch (a) {
case [Ctrl + Space]
}
當我按下Ctrl + Space,我希望日食顯示列表,包括A0和A1,但事實並非如此。如何解決這個問題?
我正在使用Indigo。
代碼:Eclipse的自動完成
private final int A0 = 0;
private final int A1 = 1;
.....
int a = 0;
....
switch (a) {
case [Ctrl + Space]
}
當我按下Ctrl + Space,我希望日食顯示列表,包括A0和A1,但事實並非如此。如何解決這個問題?
我正在使用Indigo。
讓他們真正的常數:
private static final int A0 = 0;
private static final int A1 = 1;
或鍵入A0
自己。
另一種選擇是使用枚舉而不是Java 1.4類型常量。然後Eclipse知道類型,並且可以只提供枚舉值。它也很聰明,告訴你在這種情況下尚未提供的值:
private enum A {
e0,
e1,
// end
;
}
A a = A.e0;
switch (a) {
case e0:
case [Ctrl + Space] // this will expand to e1
}
是的我知道,但爲什麼需要靜態? – merrymenvn 2012-01-17 10:40:02
你不需要它(除非包含開關的方法本身是靜態的)。代碼使用非靜態final字段進行編譯。但是如果你想定義全局常量,需要靜態。對象的每個實例都有自己的非靜態最終字段副本。如果該字段是靜態的,則該字段綁定到類,而不是每個實例。 – 2012-01-17 10:45:39