더 관용적 인 Clojure에서 외부 라이브러리를 래핑하려고합니다. 여기에는 데이터 구조를 게으르게 만드는 작업이 포함됩니다. 나는 아래의 read
정적 메소드에 들어가서 FooList
을 게으 르고 싶습니다.자바 정적 메서드 내에서 데이터 구조를 게으른 것으로 확장하려면 어떻게해야합니까?
나는 많은 문제로 실행하고 있습니다 :
- 자바 정적 메서드는 을 재정의 할 수 없습니다
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
}
}
고마워, 정확히 내가 무엇을 찾고 있었는지. –