泛型第二个类型限制需要写吗?
private TimestampComparator<BaseBean> dataComparator = new TimestampComparator<>();
以前都是前后都写上类型,偶然发现后面不写也可以(编译通过也没有警告)
在开发中,大家都是怎么做的?有没有参考的标准?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
完全不用写。好像说之前需要写,被喷了。
JDK1.7及以上可以省略。
Java的一颗语法糖,这个还有个名称叫宝石语法。JDK1.7以后不推荐写。
至于原理,涉及到了Java泛型的内部实现方式,不同于C#的真实泛型实现(类型膨胀),Java通过类型擦除和强制类型转换实现的伪泛型。
对于运行期的Java来说,ArrayList<Integer>和ArrayList<String>就是同一个类。