java Number & Comparable
来源:9-3 实现Dijkstra算法
芒果和芒果柠檬
2018-08-08
波波老师,注意到java里面weight泛型的写法是 Weight extends <Number & Comparable>
但是如果我交换顺序 <Weight extends Comparable & Number> 就会报错,看不懂原因 网上搜索也不知道怎么描述 特此来请教... 这是为什么吗
写回答
1回答
-
因为Number是类,Comparable是接口。限定泛型的类型,如果泛型是某个类的子类,则这个父类必须写在前面。语法规定。。。:)
关于这个语法,相应的Java官方文档可以参考这里:https://docs.oracle.com/javase/tutorial/java/generics/bounded.html
注意Multiple Bounds部分的叙述:
If one of the bounds is a class, it must be specified first. For example: Class A { /* ... */ } interface B { /* ... */ } interface C { /* ... */ } class D <T extends A & B & C> { /* ... */ } If bound A is not specified first, you get a compile-time error: class D <T extends B & A & C> { /* ... */ } // compile-time error
加油!:)
212018-08-09
相似问题