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:
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
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
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