2013-12-18 27 views
1

我正在開發Spring Web項目。澄清 - 在Eclipse中導入語句

我有一個域類:

com.ciar.seafac.engine.domain.Component 

我也使用來自Spring框架的@Component註釋:

org.springframework.stereotype.Component 

我不能添加import語句在我的課兩類。所以,我必須爲我的Component類使用完全限定的類名稱。

有沒有其他方法可以做到這一點?我可以知道爲什麼Eclipse不允許我導入這兩個類嗎?當我添加兩個導入語句並保存類文件。 Eclipse只刪除一個。請解釋爲什麼會發生這種情況。

+0

FYI其他語言有結構來解決這個問題如Python有'進口as'讓你給一個別名的東西,你導入 – blank

+0

哦,真的,那真是太好了,我只是想到了Java中的任何東西,這就是爲什麼我只是發佈了這個問題,似乎Java沒有它。信息。 – Keerthivasan

+0

@Downvoter您能否留下評論?我如何改善我的問題? – Keerthivasan

回答

6

如果兩個類具有完全相同(簡單)名稱,您將必須完全限定其中至少一個。這是Java標準的行爲,並在長度here記錄(第7.5章):

如果在同一編譯單元嘗試導入類型和同樣簡單的名稱的兩個單式進口報關,然後編譯時錯誤發生,

導致刪除其中一個導入的Eclipse中的自動功能是「保存操作」。這些都可以在Eclipse設置中找到:

Preferences > Java > Editor > Save Actions > "Organize Imports" 

如果手動添加兩個import語句,然後完全限定類之一,相應的import語句是多餘的,由「組織導入」因此刪除。

+0

很好的解釋,謝謝你的鏈接 – Keerthivasan

+0

不客氣! – reto

1

如果您在類中使用完全限定名稱作爲Components之一,那麼頂部的import語句是多餘的,eclipse將擺脫它(這是「Organize imports」選項,您可以選擇作爲上攢動。

它基本上讓你的代碼更清潔和更小的。