Java 泛型:修订间差异
跳到导航
跳到搜索
(创建页面,内容为“Java 泛型 泛型,即“参数化类型”,编写更通用、类型安全的代码。定义时由参数代替具体的类型,使用时传入具体的类型(即形参不指定类型,由实参指定)。 ==== 泛型类 ==== public class Box<T> { private T content; ... } Box<Integer> intBox = new Box<>(123); Box<String> stringBox = new Box<>("Hello, World!"); ==== 泛型方法 ==== private Node root; public <K extends Comparable<K>, V>…”) |
无编辑摘要 |
||
第3行: | 第3行: | ||
泛型,即“参数化类型”,编写更通用、类型安全的代码。定义时由参数代替具体的类型,使用时传入具体的类型(即形参不指定类型,由实参指定)。 | 泛型,即“参数化类型”,编写更通用、类型安全的代码。定义时由参数代替具体的类型,使用时传入具体的类型(即形参不指定类型,由实参指定)。 | ||
=== 泛型类型 === | |||
==== 泛型类 ==== | ==== 泛型类 ==== | ||
public class Box<T> { | public class Box<T> { | ||
第32行: | 第33行: | ||
} | } | ||
} | } | ||
=== 泛型参数 === | |||
==== <T extends Comparable<T> ==== | |||
Comparable 是指类型 T 必须实现 Comparable 接口,即 T 之间能比较大小(Java 不支持运算符重载,只能通过 Comparable<T> 接口比较两个对象) | |||
==== <T extends Comparable<? super T>> ==== | |||
实现 Comparable 接口;输入参数是同级类或父类(超类)。<? super T> 用于子类及后代类均可使用。 | |||
[[分类:Develop]] | [[分类:Develop]] | ||
[[分类:Java]] | [[分类:Java]] |
2024年5月20日 (一) 10:23的版本
Java 泛型
泛型,即“参数化类型”,编写更通用、类型安全的代码。定义时由参数代替具体的类型,使用时传入具体的类型(即形参不指定类型,由实参指定)。
泛型类型
泛型类
public class Box<T> { private T content; ... } Box<Integer> intBox = new Box<>(123); Box<String> stringBox = new Box<>("Hello, World!");
泛型方法
private Node root; public <K extends Comparable<K>, V> void insert(K key, V value) { root = insert(root, key, value); ... }
java 泛型 <K extends Comparable<K>, V> 是什么意思?
泛型接口
interface Generator<T> { T generate(); class StringGenerator implements Generator<String> { @Override public String generate() { return "Generated String"; } }
泛型参数
<T extends Comparable<T>
Comparable 是指类型 T 必须实现 Comparable 接口,即 T 之间能比较大小(Java 不支持运算符重载,只能通过 Comparable<T> 接口比较两个对象)
<T extends Comparable<? super T>>
实现 Comparable 接口;输入参数是同级类或父类(超类)。<? super T> 用于子类及后代类均可使用。