繁体   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