public class DemoConvter<A extends Question, B extends Answer> extends Converter<A, B> {
@Override
protected B doForward(A a) {
Answer answer;
if (a instanceof PublicQuestion) {
answer = new PublicAnswer();
} else {
answer = new Answer();
}
answer.setRequestId("123456");
return (B)answer;
}
@Override
protected A doBackward(B b) {
Question question;
if (b instanceof PublicAnswer) {
question = new PublicQuestion();
} else {
question = new Question();
}
return (A)question;
}
public static void main(String[] args) {
DemoConvter<Question, PublicAnswer> demoConvter = new DemoConvter<>();
PublicAnswer publicAnswer = demoConvter.doForward(new PublicQuestion());
System.out.println("======= "+publicAnswer.getRequestId() );
}
}
参考:https://www.cnblogs.com/banxian-yi/p/10645283.html
https://www.cnblogs.com/coprince/p/8603492.html