Java泛型的bound是什么意思,你能解释一下吗
时间: 2023-03-19 19:24:48 浏览: 535
Java中的泛型通常可以使用Bound(边界)来限制类型参数的类型范围。Bound用于指定一个泛型类型参数可以是哪些类型的子类或父类,以及是否可以是具有特定接口的类。通常使用extends关键字指定一个类型参数的上界(Upper Bound),或使用super关键字指定一个类型参数的下界(Lower Bound)。
下面是一些示例,以便更好地理解Bound的含义:
1. 上界(Upper Bound)示例:将泛型类型参数限制为Number类及其子类。
```java
class Example<T extends Number> {
private T value;
public void setValue(T value) {
this.value = value;
}
public T getValue() {
return value;
}
}
```
在这个示例中,泛型类型参数T被限制为Number类及其子类,这意味着可以使用该类或其子类来作为泛型类型参数,例如Integer、Double等。
2. 下界(Lower Bound)示例:将泛型类型参数限制为某个类及其父类。
```java
class Example<T super Integer> {
private T value;
public void setValue(T value) {
this.value = value;
}
public T getValue() {
return value;
}
}
```
在这个示例中,泛型类型参数T被限制为Integer类及其父类,这意味着可以使用Integer、Number、Object等作为泛型类型参数。
阅读全文