ファイルシステムへの読み書きを行うインタフェースを持っています。私は上記のコードはOperations<User>
だけでなく、両方のOperations<List<User>>
のために働く必要がありJavaジェネリック型がTとTのリストを受け入れることを許可する
import java.io.IOException;
import java.util.List;
public interface Operations<T> {
void save(T serializableObject) throws IOException;
List<T> get() throws IOException;
}
このインタフェースの両方のリストにケータリングだけでなく、T.を作る方法を今疑問があります。私はメソッドをオーバーロードしている場合は
私は重複したコードにあなたはvarargsの使用を作ることができT
void save(T serializableObject) throws IOException;
void save(Collection<T> listOfTs);
番号タイプは「aまたはb」にすることはできません。あなたがそれについて考えているなら、あなたはその理由を理解するでしょう:どのタイプがあなたにあるかを知ることはできません。 'List'を試してみて、発信者に単一項目のサイズ1のリストを作るよう要求することができます。 –
Bohemian
質問が不明です。リストを満たす方法と、Tを満たす方法の1つがあります。詳細は何ですか。リスト内のすべてのTを処理し、それぞれに対してsave(T ...)メソッドを呼び出すデフォルト実装を追加することができます(リスト ...)。 ) –