Typen von Generics & Casten

Status
Nicht offen für weitere Antworten.

Q-Base

Aktives Mitglied
Hallo,

ich habe mir eine eine Klasse geschrieben, in der ich Daten mit bestimmten Eigenschaften halten möchte.
Ich zeige das einfach mal an einem Beispiel:
Code:
public class MyVariable<T extends Comparable & Serializable> {

	private Class<?> _tClass = null;
	private T _innerValue    = null;
    ...
	public T getValue() {
		return _innerValue;
	}
    ...
}

Ich möchte in jedem Fall, dass T die Eigenschaften von Comparable und Serializable vereint, denn ich brauche beide Eigenschaften. Wenn ich nun aber MyVariable.getValue() aufrufe, dann muss ich häufig casten.

Beispiel
Code:
MyVariable<Integer> v = new MyVariable<Integer>(new Integer(5));
Serializable s = v.getValue();
Comparable   c = v.getValue();

Je nachdem, ob es "MyVariable<T extends Comparable & Serializable>" oder "MyVariable<T extends Serializable & Comparable>" heißt, muss ich entweder bei s oder c casten.

Kann ich das nicht eleganter lösen?

Ciao, Q
 
S

SlaterB

Gast
public interface CompSera extends Comparable, Serializable {

}

MyVariable<T extends CompSera>
 

Q-Base

Aktives Mitglied
Hallo,

nicht ganz, denn wenn ich das Interface habe

Code:
public interface ComparSerializable extends Comparable, Serializable {
}

Dann funktioniert soetwas nicht mehr.

Code:
ComparSerializable v = Boolean.FALSE;

Obwohl java.lang.Boolean sowohl Comparable, als auch Serializable implementiert.

Ciao, Q
 
S

SlaterB

Gast
da ist was dran, da kann man nix machen,

allerdings habe ich dein ursprüngliches Problem gar nicht,
folgendes läuft tadellos:
Code:
public class Test
{

    public static void main(String[] args)
    {
        MyVariable<Integer> v = new MyVariable<Integer>(new Integer(5));
        Serializable s = v.getValue();
        Comparable c = v.getValue();
        System.out.println("c: " + c);
        System.out.println("s: " + s);
    }
}


class MyVariable<T extends Comparable & Serializable>
{
    private T t;

    public MyVariable(T t)
    {
        this.t = t;
        Comparable c = t;
        Serializable s = t;
        System.out.println("c: " + c);
        System.out.println("s: " + s);
    }

    public T getValue()
    {
        return this.t;
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Generics / Typen Allgemeine Java-Themen 1
B hashtable für unterschiedliche Typen - mit Generics Allgemeine Java-Themen 8
M Beliebig viele Typen bei Generics Allgemeine Java-Themen 3
S generics primitiver typen Allgemeine Java-Themen 5
T JavaPoet - (noch) nicht existente Typen Allgemeine Java-Themen 2
T Fremde Typen mockt man nicht? Allgemeine Java-Themen 3
looparda Liste filtern nach Prädikaten verschiedener Typen Allgemeine Java-Themen 3
RalleYTN Datentypen Herausfinden ob Object ein Array ist ohne den Typen des Arrays zu kennen? Allgemeine Java-Themen 12
C Generic-Funktion nur bei bestimmten Typen erlauben Allgemeine Java-Themen 6
T Interface mit generische Typen Allgemeine Java-Themen 5
M Interface Generische Klassen mit mehreren Typen überschreiben Allgemeine Java-Themen 0
F Grundrechenarten mit eigenen Typen Allgemeine Java-Themen 9
N Vergleich von generischen Typen Allgemeine Java-Themen 2
S Überschriebene Methode eines generischen Typen aufrufen Allgemeine Java-Themen 4
K Arrays.asList und primitive Typen Allgemeine Java-Themen 2
H2SO3- problem mit objecten verschiener Typen (E, <E> und T) Allgemeine Java-Themen 2
S Generische Typen: Frage dazu Allgemeine Java-Themen 11
T DataFrame (Matrix mit mit verschiedenen Typen pro Spalte) Allgemeine Java-Themen 4
H2SO3- merken versch. Date Typen + erlaubte und unerlaubte kombinat Allgemeine Java-Themen 4
V Variable vom Typ String zum Typen "Message" konve Allgemeine Java-Themen 2
F Kann man keine Arrays von generischen Typen erstellen? Allgemeine Java-Themen 2
D Listen von Generischen Typen inkl. Vererbung Allgemeine Java-Themen 2
lumo Typen MSSQL + JAVA Allgemeine Java-Themen 4
B Generische Typen instanzieren Allgemeine Java-Themen 11
G Methoden auf Arrays aller primitiver Typen zusammenfassen? Allgemeine Java-Themen 8
C Dynamisch Objekte unterschiedlicher Typen erzeugen Allgemeine Java-Themen 6
S Variablennamen von primitiven Typen eines Konstruktors lesen Allgemeine Java-Themen 7
J parsen von verschiedenen dokument typen Allgemeine Java-Themen 3
D generischer Iterator mit verschiedenen Typen Allgemeine Java-Themen 3
J Best Practice Generics mit Enum Allgemeine Java-Themen 3
H Kombination Interface und Abstrakte Klasse bei Generics Allgemeine Java-Themen 3
Zeppi Cast Object in Generics Allgemeine Java-Themen 4
P Generics und Arrays Allgemeine Java-Themen 6
Kirby.exe InsertionSort mit Generics Allgemeine Java-Themen 33
Kirby.exe Vererbung bei Generics Allgemeine Java-Themen 7
H Klarnamen etc... (von Wie Generics lernen?) Allgemeine Java-Themen 26
D Wie Generics lernen? Allgemeine Java-Themen 26
L Compiler-Fehler Generics beim Anhängen von Predicates Allgemeine Java-Themen 1
W Vererbung Generics - mal wieder die verhaßte Rückwärtskompatibilität Allgemeine Java-Themen 2
S Verstaendnisfrage Generics Allgemeine Java-Themen 19
W Generics + Vererbung Allgemeine Java-Themen 47
I Methoden Generics-Methode Allgemeine Java-Themen 3
D Mit Generics arbeiten - Übungsaufgabe Allgemeine Java-Themen 3
K Factory Pattern: Mit Generics umgehen Allgemeine Java-Themen 6
G Generics Allgemeine Java-Themen 31
perlenfischer1984 Liste mit generics zurück liefern Allgemeine Java-Themen 8
Hacer Generics & Collections Allgemeine Java-Themen 8
Neumi5694 Interface Generics für Enum-Filterung verwenden Allgemeine Java-Themen 5
H Collector Generics Problem (incl. Stream & Lambda) Allgemeine Java-Themen 4
C Gemeinsame Oberklasse zweier Generics Allgemeine Java-Themen 10
erdmann Datentypen Methodendeklaration mit Generics Allgemeine Java-Themen 2
Z Datentypen Verschachtelte Generics Allgemeine Java-Themen 1
Neumi5694 Datentypen Generics Allgemeine Java-Themen 5
S Mit Generics Klasse erstellen die selbst T erweitert..? Allgemeine Java-Themen 4
Tarrew Generics - Type erasure Allgemeine Java-Themen 5
N Problem mit Generics und Interface Allgemeine Java-Themen 4
H Generics als Parameter Allgemeine Java-Themen 1
kaoZ Generics und Vererbung Allgemeine Java-Themen 3
A Datentypen Generics: Wie am besten auf Typparameter zugreifen Allgemeine Java-Themen 2
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
vandread Kleine Generics Aufgabe aus einer Prüfung... wie ist das gemeint? Allgemeine Java-Themen 6
G Generics sind zu streng - oder ich zu naiv? Allgemeine Java-Themen 3
G Verschachtelte Generics Allgemeine Java-Themen 2
O Generics Allgemeine Java-Themen 42
M Problem mit Generics Allgemeine Java-Themen 10
M Generics (bounded wildcards statt Interface Bezeichnern) -- Sinn oder Unsinn? Allgemeine Java-Themen 2
darekkay Generics: Wildcard und Object Allgemeine Java-Themen 5
H Collections Generics und Reflection Allgemeine Java-Themen 6
F Google Guice + Generics + Vererbung Allgemeine Java-Themen 5
H Problem mit Java Generics Allgemeine Java-Themen 6
J Generics: Typparameter als Klasse zurückliefern Allgemeine Java-Themen 4
H Generics Allgemeine Java-Themen 5
P Probleme mit Generics Allgemeine Java-Themen 5
B Generics und primitve arrays Allgemeine Java-Themen 6
M Generics Allgemeine Java-Themen 11
1 Collections Generics, internes Verhalten Allgemeine Java-Themen 16
T Warnungsfreie Verwendung von Generics Allgemeine Java-Themen 11
M Probleme mit Generics Allgemeine Java-Themen 5
D Java Generics Allgemeine Java-Themen 8
2 Generics: bounded wildcards Allgemeine Java-Themen 4
J Generics / vermeiden von downcasts Allgemeine Java-Themen 2
2 Generics oder nicht? Allgemeine Java-Themen 8
E Problem mit Generics und Comparable Allgemeine Java-Themen 16
W Erweitern einer Klasse mit Generics Allgemeine Java-Themen 8
H Generics für Methode Allgemeine Java-Themen 14
N Überladen mit Hilfe von Generics Allgemeine Java-Themen 3
S Generics: Fuer Set<T> ein T-Klassenobjekt erhalten? Allgemeine Java-Themen 3
Q Der innere Typ von Generics? Allgemeine Java-Themen 3
N Generics-NullpointerException Allgemeine Java-Themen 7
2 Generics - Typ Allgemeine Java-Themen 12
P Generics Problem Allgemeine Java-Themen 10
S Type safety Warnings beim casten von Generics Allgemeine Java-Themen 6
N Generics Allgemeine Java-Themen 3
V Frage zu Generics Allgemeine Java-Themen 2
S java generics klassen deklaration Allgemeine Java-Themen 7
E Generics Allgemeine Java-Themen 3
MQue Generics Allgemeine Java-Themen 4
R Problem mit Reflection und Generics Allgemeine Java-Themen 3
C Klassen, die aufeinander verweisen (mit Generics) Allgemeine Java-Themen 16
G Generics - W.card unter Nutzung von Annotationsklasse? Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben