Bal*_*azx 0 java generics inheritance interface
Transformer接口的代码如下:
public interface Transformer<FROM, TO> {
TO transform(FROM value);
}
Run Code Online (Sandbox Code Playgroud)
PersonSubscriberTransformer
到目前为止,该类的代码如下所示:
public class PersonSubscriberTransformer<FROM, TO> implements Transformer {
private Predicate<Person> predicate;
public PersonSubscriberTransformer(Predicate<Person> predicate) {
this.predicate = predicate;
}
@Override
public Object transform(Object value) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
变换方法的参数应该是List<Person>
并且它应该返回一个List<Subscriber>
. 当我更改参数时,我收到一条错误消息,提示我应该将该方法拉至 Transformer 接口。
以正确的方式实施此方法的解决方案是什么?
基于 的预期签名transform
,FROM
应该是List<Person>
并且TO
应该是List<Subscriber>
。类本身不应该是通用的。
public class PersonSubscriberTransformer implements Transformer<List<Person>, List<Subscriber>> {
// constructor...
@Override
public List<Subscriber> transform(List<Person> persons) {
// complete this method...
return null;
}
}
Run Code Online (Sandbox Code Playgroud)