小编Jim*_*ine的帖子

为什么Java不使用现有的类语言规范语法来表示泛型类型规范?

本周我对Java Generics有了更多的了解.在指定泛型时我学会了有界类型.描述的内容如下:

class <T extends A & B & C> ...
Run Code Online (Sandbox Code Playgroud)

含义T必须是扩展A并实现B和C的类型.因此,在泛型定义中,类型T的实例可以访问A,B或C的任何方法.

T可能只扩展一个类,它必须是列表中的第一个类.所有扩展也可以是接口.

这种表示法可能令人困惑.A是一个阶级并不明显.如果你犯了错误并且B是类,编译器将不会让你继续,但它不会给出一个特别明显的编译时错误消息.它没有声明,"B类必须是列表中的第一个."

我以为Java已经有了定义类和接口的方法.为什么不利用泛型的现有语法.所以代替:

class <T extends A & B & C>
Run Code Online (Sandbox Code Playgroud)

为什么不:

class <T extends A implements B, C>
Run Code Online (Sandbox Code Playgroud)

java generics

2
推荐指数
1
解决办法
66
查看次数

标签 统计

generics ×1

java ×1