小编Bla*_*aze的帖子

Java泛型:多个边界

我有这个代码:

public class Test {

    public static void main(String[] args) {
        Test t = new Test();
        t.callTest();
    }

    public void callTest() {
        GenericTest gt = new GenericTest<Date>(); // this line don't compile
        gt.test(new Date());
    }

    class GenericTest<T extends Date & List> {
        T x;

        public void test(T y) {
            System.out.println(x.toString());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我理解为什么new GenericTest<Date>()不编译,这是因为Date没有实现List接口,但是如果我实例化GenericTest gt = new GenericTest()没有泛型,整个代码工作,我不明白为什么.方法测试需要(T y)where T extends Date和implements List,但它可以使用gt.test(new Date()).

java generics

13
推荐指数
1
解决办法
2209
查看次数

标签 统计

generics ×1

java ×1