목록이 있는 Java 제네릭 인터페이스

4275 단어 java

와일드카드



인터페이스의 구현된 클래스 목록으로 일반 인터페이스를 작성하는 방법은 무엇입니까?

트리 노드 인터페이스를 작성할 때 이 문제가 발생합니다. 문제의 세부 정보는 다음과 같습니다. 다음 두 클래스에 대한 인터페이스를 만들어야 합니다. 인터페이스를 작성하는 방법은 무엇입니까?

public class TreeNode<T> {

    private T data;

    private List<TreeNode<T>> children;

    public T getData() {
        return this.data;
    }

    public List<TreeNode<T>> getChildren() {
        return this.children;
    }
}

public class DoubleLinkedTreeNode<T> {

    private T data;

    private List<TreeNode<T>> children;

    private DoubleLinkedTreeNode<T> parent;

    public T getData() {
        return this.data;
    }

    public List<DoubleLinkedTreeNode<T>> getChildren() {
        return this.children;
    }
}


두 클래스 모두 getDatagetChildren 메서드가 있으며 정의해야 하는 메서드 인터페이스입니다. 그러나 까다로운 부분은 인터페이스에서 TreeNode 또는 DoubleLinkedTreeNode를 표시하는 방법입니다. 정답은 와일드카드입니다. 인터페이스는 다음과 같습니다.

public interface TreeNodeInterface<T> {
    T getData();

    List<? extends TreeNodeInterface<T>> getChildren();
}


내 설명을 볼 수 있습니다here.

좋은 웹페이지 즐겨찾기