泛型上限:
所谓的泛型上限:
|- 就是限制泛型的取值范围。
|- 最高不能超过一个指定的类型
- public class Point<T extends Number> {
- private T x;
- private T y;
- public Point(T x, T y) { this.x = x; this.y = y;}
- public T getX() { return x; }
- public void setX(T x) { this.x = x; }
- public T getY() { return y; }
- }
- 语句解释:
- 此时就限制了 Point<T> 类只能接受是Number和Number子类的对象。
- 测试代码:
- public class Test {
- public static void main(String[] args) {
- Point<Integer> p1 = new Point<Integer>(12,23); // 没问题。
- Point<String> p2 = new Point(String)("120E","40N"); //错误。
- }
- }
复制代码 泛型下限:
所谓的泛型下限:
|- 就是限制泛型的取值范围。
|- 最低不能低过一个指定的类型。
- public class Test {
- public static void main(String[] args) {
- Point<? super String> p = new Point<String>("123E","40N");
- }
- }
复制代码 限制point类只能表示String或其以上类型的坐标 |