小编jip*_*hip的帖子

使用泛型构造子类的实例

在查看一些 Java 8 代码时,我看到了一些我不太理解的泛型的使用,因此我编写了自己的代码来模拟正在发生的事情:

public class GenericsTest {

    public static void main(String[] args) {
        TestBuilder tb = TestBuilder.create(Test_Child::new);
        Product<Test_Child> p = tb.build();

        Test tc = p.Construct("Test");
    }

    static class TestBuilder<T extends Test> {

        private final Factory<T> f;

        public TestBuilder(Factory<T> f) {
            this.f = f;
        }

        public static <T extends Test> TestBuilder<T> create(Factory<T> f){
            return new TestBuilder<>(f);
        }

        public Product<T> build(){
            return new Product<>(f);
        }

    }

    static class Test {
        public Test(){
        }
    }

    static class Test_Child extends Test{
        public Test_Child(String …
Run Code Online (Sandbox Code Playgroud)

java generics java-8

5
推荐指数
1
解决办法
75
查看次数

标签 统计

generics ×1

java ×1

java-8 ×1