私はより慣用的なClojureで外部ライブラリをラップしようとしています。これには、データ構造を怠惰にすることも含まれます。私は以下のread
静的メソッドを取得し、FooList
を遅延させたいと思います。私は多くの問題に実行していますJava静的メソッド内のデータ構造を遅延させる方法を教えてください。
:
- Javaの静的メソッドが
proxy
を上書きすることができないだけでちょっとみかん動作しているようですが、私は海で迷子にgen-class
オブジェクトのインスタンスを生成しているようです- このメソッドでは、パブリックメソッドをオーバーライドすることを難しくしている別の静的およびプライベートメソッド(再利用したい)を呼び出します。
これを行うには最適な方法はありますか? FooList
を開いて、それを怠け者として実装し、その結果のクラスを残りのコードで利用できるのでしょうか?
org.apache.commons.collections.list.LazyListは、タスクには適しているようですが、実際に使用する方法についてはわかりません。
ヘルプ?
public class Foo {
public static FooList read(String filename) {
FooList foos = new FooList(); //FooList extends ArrayList
BufferedReader br = new BufferedReader(new FileReader(filename));
for (String s = br.readLine(); null != s; s = br.readLine()) {
Foo f = parseLine(s);
foos.add(f);
}
br.close();
return foos;
}
private static Foo parseLine(String s) {
//return s as Foo
}
}
ありがとう、ちょうど私が探していたもの。 –