まず第一に、私はJavaの経験がほとんどありません。
私の質問に行くと、私は自分のリストを自分のメソッドで実装しています。
public class MyList<E> implements List<E>{
private Node<E> head;
private static class Node<E> {
private E element;
.....
}
このクラスには、このリストを特定のリストと比較するメソッドがあります。
public boolean equals(List<E> list){
....
}
このメソッドを開始するには、最初にリストの先頭を取得する必要があるため、その後、要素にアクセスしてリストを比較できます。
現在、getHead() メソッドはありません。そこで、実装クラスに以下のメソッドを作成してみました
public Node<E> getHead(){
コンパイラはシンボルを検出しません。もちろん、最初にインターフェイスで宣言する必要があります。問題は、それを実行しようとすると、インターフェースがノードが何であるかを認識できないことです。だから私はここで行き詰まりに陥っています。
エラーが発生します:
Cannot find symbol
symbol : method getHead()
location: interface List<E>
Node<E> lhead = list.getHead();
getHead を実装固有のメソッドにしたいのです。それ、どうやったら出来るの?
実装の内部クラスをインターフェイスに移動できますか? この問題を解決する方法がわかりません、
御時間ありがとうございます