首页 > IT职业 > IT生活 > java有界类型参数的使用

1、为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键字,最后是它的上界。
public class Box<T> {
private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return t;
}
public <U extends Number> void inspect(U u){
System.out.println("T: " + t.getClass().getName());
System.out.println("U: " + u.getClass().getName());
}
public static void main(String[] args) {
Box<Integer> integerBox = new Box<Integer>();
integerBox.set(new Integer(10));
integerBox.inspect("some text"); // error: this is still String!
}
}
2、通过修改泛型方法包含这个有界类型参数。
由于我们在调用inspect时还使用了String,因此编译将失败。
Box.java:21: <U>inspect(U) in Box<java.lang.Integer> cannot
be applied to (java.lang.String)
integerBox.inspect("10");
^
1 error
3、除对可用于实例化泛型类型的类型进行限制外,还允许调用在边界中定义的方法。
public class NaturalNumber<T extends Integer> {
private T n;
public NaturalNumber(T n) { this.n = n; }
public boolean isEven() {
return **n.intValue()** % 2 == 0;
}
// ...
}
以上就是java有界类型参数的使用,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1973/viewspace-2828754/ ,如需转载,请注明出处,否则将追究法律责任。