したがって、任意の型オブジェクトを許可するには、コードでジェネリックを使用する必要があります。
このメソッドを書き直してそうしましたが、Milkなどのオブジェクトを作成すると、メソッドに渡すことができません。
エーテル私の一般的なリビジョンに何か問題があるか、私が作成したミルクオブジェクトが良くありません。
オブジェクトを正しく渡し、リンクリストに追加するにはどうすればよいですか?
これは、アイテムを挿入するときにエラーが発生するメソッドです。
public void insertFirst(T dd) // insert at front of list
{
Link newLink = new Link(dd); // make new link
if( isEmpty() ) // if empty list,
last = newLink; // newLink <-- last
else
first.previous = newLink; // newLink <-- old first
newLink.next = first; // newLink --> old first
first = newLink; // first --> newLink
}
これは私がリンクリストに挿入しようとしている私のクラスです:
class Milk
{
String brand;
double size;
double price;
Milk(String a, double b, double c)
{
brand = a;
size = b;
price = c;
}
}
これは、データを挿入するためのテスト方法です。
public static void main(String[] args)
{ // make a new list
DoublyLinkedList theList = new DoublyLinkedList();
// this causes:
// The method insertFirst(Comparable) in the type DoublyLinkedList is not applicable for the arguments (Milk)
theList.insertFirst(new Milk("brand", 1, 2)); // insert at front
theList.displayForward(); // display list forward
theList.displayBackward(); // display list backward
} // end main()
} // end class DoublyLinkedApp
宣言:
class Link<T extends Comparable<T>>
{}
class DoublyLinkedList<T extends Comparable<T>>
{}