Verständnisfrage zu Generics

ManuJo5500

Mitglied
Hallo liebe Leute,
ich habe eine allgemeine Frage zu Generics. Wenn ich ein Programm wie das unten habe, wie kann ich damit wirklich arbeiten? Ich wollte
einen SortedList<String> list erstellen. Daraufhin wird gesagt, dass String nicht kompatibel mit T ist. Aufgrunddessen habe ich alle T's zu Strings geändert. Als ich versuchen wollte, Buchstaben mit der add Methoden in data zu speichern, meldet der Compiler, dass java.lang.String nicht kompatibel mit String sei. Kurz gesagt: Wie kann ich mit einem solchen Programm eine Liste mit Buchstaben/Wörtern erstellen und dabei die Methoden add und remove verwenden? Ich bin leider ein Anfänger und bin aus den Beiträgen im Internet nicht wirklich weitergekommen. Es würde mich enorm freuen, falls ich mich aufklären könnt.

Code:
class SortedList<T extends Comparable<T>> {
    T[] data = (T[]) new Comparable[100];
    int nElements = 0;
    void add(T elem) {
        int i = nElements -1;
        while(i >= 0 && elem.compareTo(data[i])>0) {
            data[i+1] = data[i];
            i--;
        }
        data[i+1] = elem;
        nElements++;
    }
    T remove() {
        return data[--nElements];
    }
}
 

lennero

Bekanntes Mitglied
Zeig mal wie du die Instanz von SortedList erstellst und ein Element einfügst. Bei mir funktioniert dein Code ohne Probleme.
 

ManuJo5500

Mitglied
Ich glaube, es liegt daran, dass ich nicht genau weiss, wie man eine Instanz von SortedList für Strings erstellt.
Meine Idee war eben:
SortedList<String> list = new SortedList<String>();
list.add("a");
 

httpdigest

Top Contributor
Ich glaube, es liegt daran, dass ich nicht genau weiss, wie man eine Instanz von SortedList für Strings erstellt.
Meine Idee war eben:
SortedList<String> list = new SortedList<String>();
list.add("a");
Und genau so geht's ja auch.

meldet der Compiler, dass java.lang.String nicht kompatibel mit String sei.
Nochmal meine Frage: Du hast nicht zufälligerweise eine eigene String Klasse geschrieben? Und als du es mit dieser probiert hast, hat diese nicht Comparable implementiert?
 

ManuJo5500

Mitglied
Einmal habe ich das so ausprobiert und im nachhinein erst gelesen, dass das so nicht funktioniert. Später habe ich es dann zur alten Form geändert.
Wenn ich es so, wie ich oben erwähnt habe, list erstelle, steht dann:
type argument java.lang.String is not within Bounds of type variable T.
 

httpdigest

Top Contributor
Schreib doch bitte einfach immer in jedem Post den aktuellen vollständigen Code und nicht Sätze wie "Einmal habe ich das so ausprobiert und im nachhinein erst gelesen, dass das so nicht funktioniert. Später habe ich es dann zur alten Form geändert." Da weiß niemand mehr, wie dein jetziger Code eigentlich aussieht und alle müssen aus vorherigen Posts erst mühsam den aktuell vermutlichen Code herausklamüsern. Und bei Fehlermeldungen einfach auch immer die Stelle im Code hervorheben, für die der Fehler angezeigt wird.

Das habe ich mal gemacht und mein funktionierender Code sieht nun so aus:
Java:
class SortedList<T extends Comparable<T>> {
  T[] data = (T[]) new Comparable[100];
  int nElements = 0;

  void add(T elem) {
    int i = nElements - 1;
    while (i >= 0 && elem.compareTo(data[i]) > 0) {
      data[i + 1] = data[i];
      i--;
    }
    data[i + 1] = elem;
    nElements++;
  }

  T remove() {
    return data[--nElements];
  }

  // Benutzung: Funktioniert!
  public static void main(String[] args) {
    SortedList<String> list = new SortedList<String>();
    list.add("a");
  }
}
 

ManuJo5500

Mitglied
Vielen vielen Dank an dich. Ich habe zuvor mit BlueJ programmiert. Auch bei deinem Quellcode hat dieser die Fehlermeldung "type argument java.lang.String is not within Bounds of type variable T" angezeigt. Ich habe es nun mit einer anderen Java-Umgebung ausprobiert und da funktioniert es! Ich möchte mich ganz herzlichst bei dir bedanken, dass du dir so viel Zeit genommen hast!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Verständnisfrage zu Generics Java Basics - Anfänger-Themen 3
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
A Verständnisfrage Java Basics - Anfänger-Themen 12
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
P Verständnisfrage: PageFactory.initElements Java Basics - Anfänger-Themen 2
R do while Schleife Verständnisfrage Java Basics - Anfänger-Themen 2
G while.next() Verständnisfrage Java Basics - Anfänger-Themen 16
Vivien Kurze Verständnisfrage zu Java Point aus java.awt.* Java Basics - Anfänger-Themen 5
C Erste Schritte Anfänger Verständnisfrage zum Compiler Java Basics - Anfänger-Themen 31
T Verständnisfrage Objekt Getter Setter Java Basics - Anfänger-Themen 102
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
Der Grütz Verständnisfrage zu Übung aus Java Kurs - Schaltjahr bestimmen Java Basics - Anfänger-Themen 2
J Verständnisfrage zu throws neben Funktionen Java Basics - Anfänger-Themen 2
TimoN11 Verständnisfrage bei Aufgabe Java Basics - Anfänger-Themen 2
P Verständnisfrage zum Mapping Java Basics - Anfänger-Themen 3
M Java Version Verständnisfrage Java Basics - Anfänger-Themen 16
M Verständnisfrage zu eine Online Aufgabe Java Basics - Anfänger-Themen 7
T Verständnisfrage zur Konsolenausgabe Java Basics - Anfänger-Themen 2
D Verständnisfrage zur Modellierung einer HDD Java Basics - Anfänger-Themen 17
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
S Verständnisfrage lokale Ordnerpfade Java Basics - Anfänger-Themen 1
T Verständnisfrage zu Interfaces Java Basics - Anfänger-Themen 7
J Java Starthilfe Verständnisfrage Aufgabe Java Basics - Anfänger-Themen 2
O Anfänger, Verständnisfrage Java Basics - Anfänger-Themen 3
C Verständnisfrage zu Modulo Java Basics - Anfänger-Themen 6
C Verständnisfrage bezüglich der Do-While Schleife Java Basics - Anfänger-Themen 9
L Verständnisfrage - Speicherabbild Java Basics - Anfänger-Themen 4
melly_ Verständnisfrage zu args Java Basics - Anfänger-Themen 3
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
K Verständnisfrage eines Abschnitts Java Basics - Anfänger-Themen 6
K Rekursion Verständnisfrage Java Basics - Anfänger-Themen 19
S Modell View Controller Verständnisfrage Java Basics - Anfänger-Themen 24
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
JavaTalksToMe Erste Schritte Println-Frage (Verständnisfrage) Java Basics - Anfänger-Themen 1
R Verständnisfrage zu Objekten u. Übergabeparameter Java Basics - Anfänger-Themen 8
G Collections Verständnisfrage zur For-Each-Schleife Java Basics - Anfänger-Themen 7
b1ck Interface Verständnisfrage zum GUI mit "swing" Java Basics - Anfänger-Themen 1
kilopack15 Verständnisfrage zur Verwendung von notify() bei Threads Java Basics - Anfänger-Themen 2
G Verständnisfrage zu for-each Java Basics - Anfänger-Themen 4
DontFeedTheTroll Erste Schritte Verständnisfrage zu If-Anweisung Java Basics - Anfänger-Themen 7
K Rekursion-Verständnisfrage Java Basics - Anfänger-Themen 4
J Java Server Pages - Verständnisfrage Java Basics - Anfänger-Themen 2
Z Verständnisfrage Anfängerprogramm Java Basics - Anfänger-Themen 0
T Verständnisfrage Zuweisungs-/arithmet. Operatoren Java Basics - Anfänger-Themen 2
G Methoden Verständnisfrage zur Methoden Java Basics - Anfänger-Themen 7
LionAge Kapselung, Verständnisfrage zur Objekterzeugung Java Basics - Anfänger-Themen 4
Z Verständnisfrage zum Multithreading Java Basics - Anfänger-Themen 3
R OOP / Verständnisfrage zum Konstuktor (siehe code) Java Basics - Anfänger-Themen 7
gamebreiti Verständnisfrage zu contains() Java Basics - Anfänger-Themen 10
A Verständnisfrage - Koordinatenumrechnung Java Basics - Anfänger-Themen 9
J Erste Schritte Verständnisfrage im Bezug auf das (richtige) Programmieren Java Basics - Anfänger-Themen 5
M Verständnisfrage zu JUnit Tests und private Methoden Java Basics - Anfänger-Themen 3
H Verständnisfrage Array Java Basics - Anfänger-Themen 2
I Interface Verständnisfrage Interfaces (Bsp.: Enumeration) Java Basics - Anfänger-Themen 2
I Verständnisfrage zu BridgePattern, Verwedung von super() Java Basics - Anfänger-Themen 4
P Verständnisfrage Java Basics - Anfänger-Themen 3
kaoZ Best Practice Verständnisfrage Listener bei lokalen Objekten Java Basics - Anfänger-Themen 8
D Input/Output Verständnisfrage Verzeichnis-/Dateiliste erstellen & Dateikonvertierung Java Basics - Anfänger-Themen 1
S Verständnisfrage zu Anweisungen und deren Wirkung Java Basics - Anfänger-Themen 7
H Verständnisfrage für oder Anweisung Java Basics - Anfänger-Themen 8
E Threads Verständnisfrage bzgl. Threads und Sleep Java Basics - Anfänger-Themen 2
T Erste Schritte Verständnisfrage: Getter und Setter Methoden Java Basics - Anfänger-Themen 3
H Verständnisfrage zu Java-Ausgabe Java Basics - Anfänger-Themen 3
S Verständnisfrage Java Basics - Anfänger-Themen 2
N Verständnisfrage Code Java Basics - Anfänger-Themen 8
B Verständnisfrage Java Basics - Anfänger-Themen 2
H Interface Comparable Verständnisfrage Java Basics - Anfänger-Themen 6
B Verständnisfrage Codezeile Java Basics - Anfänger-Themen 7
B Verständnisfrage:Beispielprogramm BlueJ Java Basics - Anfänger-Themen 3
M Kurze Verständnisfrage zu einer Java Aufgabe Java Basics - Anfänger-Themen 12
K Erste Schritte Kleine Verständnisfrage Java Basics - Anfänger-Themen 12
R Verständnisfrage Referenzvariablen in array Java Basics - Anfänger-Themen 3
M Verständnisfrage: Objekt erzeugen u. zuweisen Java Basics - Anfänger-Themen 16
I OOP Verständnisfrage zu Singelton Pattern Java Basics - Anfänger-Themen 21
M Verständnisfrage zu JPanel Java Basics - Anfänger-Themen 3
S Verständnisfrage: Exception Gebrauch Java Basics - Anfänger-Themen 2
R Verständnisfrage NPE Java Basics - Anfänger-Themen 5
M Verständnisfrage zur Zahlenumwandlung (Dezimal-->Dual) Java Basics - Anfänger-Themen 25
P Java Objekte - Verständnisfrage Java Basics - Anfänger-Themen 9
N Verständnisfrage zu folgendem Programm Java Basics - Anfänger-Themen 2
L Grundlegende Verständnisfrage Hasmap Referenzen Java Basics - Anfänger-Themen 4
S Verständnisfrage zu Interfaces Java Basics - Anfänger-Themen 2
VfL_Freak Verständnisfrage zur Klasse "TIMER" Java Basics - Anfänger-Themen 7
P Verständnisfrage zu Instanzen/Objekten Java Basics - Anfänger-Themen 9
M Verständnisfrage im Umgang mit Map Java Basics - Anfänger-Themen 10
K Verständnisfrage zu int.length und String.length() Java Basics - Anfänger-Themen 4
G 2D Array gleichsetzen verständnisfrage Java Basics - Anfänger-Themen 2
M kleine und einfache Verständnisfrage Java Basics - Anfänger-Themen 3
N verständnisfrage java.util.Calendar Java Basics - Anfänger-Themen 4
G Datentypen bits, bytes, chars - Verständnisfrage Java Basics - Anfänger-Themen 5
E Verständnisfrage zu Shutdownhook Java Basics - Anfänger-Themen 5
D Verständnisfrage: Java und MySql Java Basics - Anfänger-Themen 3
F Rekursion Verständnisfrage Java Basics - Anfänger-Themen 6
A Exception Verständnisfrage: Exceptions während, einer Statischenzuweisung abfangen Java Basics - Anfänger-Themen 10
Z Comparator Verständnisfrage Java Basics - Anfänger-Themen 5
D Verständnisfrage zu Funktionen Java Basics - Anfänger-Themen 6
H Verständnisfrage Persistenz Java Basics - Anfänger-Themen 10
neurox Verständnisfrage zu Threads Java Basics - Anfänger-Themen 4
E Verständnisfrage Syntax: frame.getContentPane().add(button) Java Basics - Anfänger-Themen 11
Y Kleine Verständnisfrage zum Thema dynamische Polymorphie Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben