在Java中,可以使用通配符和多重界限来实现对泛型参数的多个约束条件。
extends T>
表示泛型参数必须是T的子类,而 super T>
表示泛型参数必须是T的父类。下面是一个示例代码:public static void printNumber(T number) {
System.out.println(number);
}
public static void main(String[] args) {
printNumber(10); // 使用Integer作为泛型参数
printNumber(3.14); // 使用Double作为泛型参数
}
&
符号同时指定多个接口或类作为泛型参数的约束。下面是一个示例代码:interface Printable {
void print();
}
interface Readable {
void read();
}
class MyClass {
private T item;
public MyClass(T item) {
this.item = item;
}
public void doSomething() {
item.print();
item.read();
}
}
public static void main(String[] args) {
MyClass myClass = new MyClass<>(new MyClassImplement());
myClass.doSomething();
}
class MyClassImplement implements Printable, Readable {
@Override
public void print() {
System.out.println("Printing...");
}
@Override
public void read() {
System.out.println("Reading...");
}
}
在上面的示例中,MyClass
使用了多重界限来约束泛型参数T
,要求T
必须同时实现Printable
和Readable
接口。