0

我只是 spring 架构的新手,我想知道是否可以在ItemStreamReader.

像这样的东西:

public class Reader implements ItemStreamReader<T extends SomeClass>{
    public T read() {
    .......
    }
    public void open() {
    .......
    }
    public void update() {
    .......
    }
    public void close() {
    .......
    }
}

所以我将各种扩展对象传递给读者SomeClass

4

2 回答 2

1

这应该工作:

public class Reader<T extends SomeClass> implements ItemStreamReader<T>{
    public T read() {
    .......
    }
    public void open() {
    .......
    }
    public void update() {
    .......
    }
    public void close() {
    .......
    }
}

像这样使用它:

Reader<SomeClass> reader = new Reader<>();
Reader<ExtendedFromSomeClass> reader2 = new Reader<>();
于 2015-11-11T09:51:31.600 回答
0

我建议您首先阅读有关 java 泛型的内容。

http://www.angelikalanger.com/GenericsFAQ/FAQSections/ParameterizedTypes.html#什么是参数化(或通用)类型?

但是如果你定义你的班级

public class Reader implements ItemStreamReader<SomeClass>{
    public SomeClass read() {
    .......
    }
    public void open() {
    .......
    }
    public void update() {
    .......
    }
    public void close() {
    .......
    }
}

您的方法可以返回任何属于 SomeClass 的子类的对象。

例如

Reader a = new Reader();
Subclass b = (Subclass)a.read();
于 2015-11-10T13:54:54.383 回答