簡體   English   中英

在具體實現類中使用泛型類型自動完成

[英]Autocomplete with generic types in concrete class of implementation

在Ecipse(Kepler)中編寫java時,我在創建泛型接口類型的新變量時出現問題,並在初始化變量時自動完成其具體實現。 我在談論通用接口/具體實現,如List / ArrayList和Map / HashMap。

示例:您在IDE中鍵入以下內容:

List<String> stringList = new ArrayL

然后,使用自動完成(ctrl + space)用ArrayList()填充代碼,但這就是IDE放入代碼中的內容:

List<String> stringList = ArrayList<>()

所以他們完全忽略了String泛型類型參數化。 關於如何讓Eclipse IDE在變量聲明中檢測泛型類型參數並將其放入實現構造函數的type參數中的任何想法? 這曾經在Eclipse中自動為我工作,但在過去幾個月突然停止工作。 我不確定我對我的工作區做了什么配置更改導致這種情況發生...除了從Eclipse Juno升級到Eclipse Kepler之外。

如果Eclipse使用new ArrayList()自動完成,Eclipse將忽略泛型類型,這是一個原始類型的實例。

但它使用new ArrayList<>()自動完成,它使用菱形運算符 此運算符自Java 7以來就存在,並且等同於new ArrayList<String>() ,但沒有冗余。

簡而言之,Eclipse做了正確的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM