Found: T Required: T ???
-
Hoi,
Ich mache gerade eine Hausaufgabe für die Uni und stehe vor einem merkwürdigem Problem...public class SortedList<T> implements SortedCollection<T> { private class ListNode { T data; ListNode prev, next; public <T extends Comparable<T>> ListNode(T data, ListNode prev, ListNode next) { this.prev = prev; this.next = next; this.data = data; } public ListNode delete() { prev.next = next; next.prev = prev; --m_size; return next; } } ListNode m_first = null, m_last = null; int m_size = 0; public <T extends Comparable<T>> void insert(T item) { // If the list is empty, just set value. if(m_first == null) { m_first = new ListNode(item, null, null); m_last = m_first; return; } // If the value compares higher than the last element, just append it. if(item.compareTo(m_last.data) >= 0) { m_last.next = new ListNode(item, m_last, null); return; } } }
Ich bekomme hier sowohl bei
this.data = data;
found : T
required: T
this.data = data;als auch hier
if(item.compareTo(m_last.data) >= 0)
compareTo(T) in java.lang.Comparable<T> cannot be applied to (T)
if(item.compareTo(m_last.data) >= 0)
2 errorsWie müsste es korrekt heißen? Diese Pseudo-Concepts finde ich echt verwirrend.
Danke und Grüße,
Ethon
-
Du führst 3 Typen mit namen T ein: Einmal in Zeile 1, einmal in Zeile 8, einmal in Zeile 27. Aber eigentlich willst Du nur ein T haben.
-
Upps, danke.