私はアプリケーションで外部検索エンジンを使用します。次のように私はEngineInterfaceを定義しています:Javaのオブジェクトにラッパーを使用する最も効率的な方法は何ですか?
public interface IEngineInterface{
public abstract List<Result> search(String q);
}
結果クラス:
public Class Result{
A a;
B b;
}
とエンジンクラス、このようなものです:
public Class Engine implements IEngineInterface{
private static ExternalEngine e = new ExternalEngine;
@override
public List<Result> search(String q) {
return wrapper(e.search(q));
}
事実はe.searchは戻らないということですList<Result>
そしてそれはList<ExternalResult>
を返して、個々のリスト項目を超えてそれを変換するラッパー関数を置きます。この問題を解決する最良の方法は何ですか?後でExternalEngineを変更する柔軟性を持たせるために私自身のResultクラスを定義しています。
私は理解できません...何をしますか?** 'e.search()' return? –
'Listをループして' List 'に変換するのはあなた次第です –
Leon
' ExternalResult'は 'Result'クラスを拡張しますか?もしそうなら、あなたは 'search'を' List <? Result> 'を継承します。 – nbokmans