class AClass<E extends Comparable>与class AClass<E extends Comaprable<E>>有什么区别?
1个回答
展开全部
重点是Comparable后面是否有泛型的区别吗?
这和new ArrayList<>()与new ArrayList()一样 都是为了做限定用的
如果不了解你可以看API
这个Comparable里面有一个方法compareTo(T o)
如果你写了后面的E 那么这个T就会成为对应的E 如果不写就可以是其他乱七八糟的对象
这是java升级引进来的新东西 以后都会按后面的写法
这和new ArrayList<>()与new ArrayList()一样 都是为了做限定用的
如果不了解你可以看API
这个Comparable里面有一个方法compareTo(T o)
如果你写了后面的E 那么这个T就会成为对应的E 如果不写就可以是其他乱七八糟的对象
这是java升级引进来的新东西 以后都会按后面的写法
追问
意思是只是为了规范而已?
追答
有规范作用 但是规范也会带来一定的安全性
就Compareto来说 底层也有equals的调用 如果设计类时在equals中产生了强制类型转换 如果不规范就会抛出异常 影响程序运行 如果规范了代码 就不会出现这种状况
所以也可以说他为了安全
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询