Generics

susu123

Mitglied
Java:
import java.util.ArrayList;

public class Generics1<T> {

    private T t;
    private final Number T;
   
    public Generics1(T t) {
        super();
        this.T = new Number();
        this.t = t;

    }
    @Override
    public String toString() {
        return "Generics1 [t=" + t + "]";
    }

    public T get() {
        return t;

    }
    public static void main(String[] args) {
        Generics1<Integer> i = new Generics1(12);
        Generics1<Double> d = new Generics1(2.34);

        i.get();
        d.get();

        System.out.println("i=" + i);
        System.out.println("d=" + d);
    }
}

Bei this.T = new Number(); wird mir ein Fehler angezeigt -> Cannot instantiate the type Number.
Aufgabenstellung lautet :
Führen sie außerdem die Restriktion ein , dass das private Attribut T der Klasse Generics1 nur Instanzen vom Typ number akzeptiert.
Ich stehe auf dem Schlauch und finde nicht den Fehler
 
Zuletzt bearbeitet von einem Moderator:
Beste Antwort
K
Gehen wir erst einmal auf Deinen Code ein: Hast Du Dir einmal angesehen, was Number ist? Wenn Du mit irgendwas hantieren willst, dann solltest Du Dir das im Detail ansehen.

Number Dokumentation: https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html

Dann wird hoffentlich schnell klar, wieso Du von Number keine Instanzen erzeugen kannst.

Dann zur Aufgabenstellung: Du sollst den Typ, von dem der Generic sein kann, eingrenzen. Wenn Du bezüglich Generics unsicher bist oder Generics nicht kennst, dann lohnt es sich, die Dokumentation zu lesen:
https://www.torsten-horn.de/techdocs/java-generics.htm (Erster Treffer meiner Suche nach Java Generics) - da ist es unter dem Punkt 5 zu finden...
K

kneitzel

Gast
Gehen wir erst einmal auf Deinen Code ein: Hast Du Dir einmal angesehen, was Number ist? Wenn Du mit irgendwas hantieren willst, dann solltest Du Dir das im Detail ansehen.

Number Dokumentation: https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html

Dann wird hoffentlich schnell klar, wieso Du von Number keine Instanzen erzeugen kannst.

Dann zur Aufgabenstellung: Du sollst den Typ, von dem der Generic sein kann, eingrenzen. Wenn Du bezüglich Generics unsicher bist oder Generics nicht kennst, dann lohnt es sich, die Dokumentation zu lesen:
https://www.torsten-horn.de/techdocs/java-generics.htm (Erster Treffer meiner Suche nach Java Generics) - da ist es unter dem Punkt 5 zu finden: "Typeinschränkung".

Also nur zum Verständnis der Aufgabe: Es gibt da den generischen Typ T und der soll eingeschränkt werden ... Das hat nichts mit einer Variablen T zu tun, die Du erstellen sollst!

Damit sollte die Aufgabe dann problemlos zu bearbeiten sein.
 
Beste Antwort
Ähnliche Java Themen
  Titel Forum Antworten Datum
Sin137 JComboBox mit Generics AWT, Swing, JavaFX & SWT 14

Ähnliche Java Themen

Neue Themen


Oben