2011-10-20 73 views
4

我喜歡C#中的「var」和Groovy中的「def」,並且我發現在Java中寫出類型是一種痛苦。在Java/Eclipse中推斷變量類型,如C#的「var」

說我寫的代碼,如:

List<LongTypeName> results = new ArrayList<LongTypeName>(); 

Map<TypeNameOne,TypeNameTwo> someLookup = fetchMeMyLookup(); 

什麼來得到這個的Java + Eclipse中做的最簡單的方法是什麼?

我特別感興趣的是我並不是100%確定當我開始行時的類型。

我目前的策略是總是將變量聲明爲「int」,然後返回到行首並執行「ctrl-1」,並接受Eclipse推斷的類型。有沒有更好的選擇?

我所喜歡的是能夠鍵入「def」或「var」,並讓Eclipse在自動找出它時自動將其更正爲正確的類型。

(也許我應該只在Groovy編程)

回答

5
  1. 類型new ArrayList<LongTypeName>();
  2. 類型Ctrl+2+L創建一個新的局部變量

兩種類型類型是 '主動' - 你可以使用Tab鍵通過他們通過選擇循環。在這個例子中,這個名字的建議是列表的ArrayList和類型的建議都是可能的接口和ArrayList<String>超,:List<StringCollection<String>

screenshot

+2

你其實不需要第二步; 'Ctrl-2 l'只在光標位於分號後面(或實際上在語句中的任何位置)時起作用。 –

+0

@MattMcHenry - 更新,謝謝。 –

+0

alt-shift-L也適用於我,並且更易於輸入。我現在一直都在使用這個 - 謝謝! – Rich

5

類型:

someLookup = fetchMeMyLookup(); 

然後點擊someLookup並按Ctrl + 1以快速修復「創建局部變量some​​Lookup」

+0

創建本地變量選項是列表中的第一項,因此我幾乎總是可以在不檢查快速修復對話框的情況下按Ctrl-1 Enter。這很好。 –