Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
public class Menge<E>{
private List<E> interneListe;
public Menge(){
interneListe = new ArrayList<E>();
}
public Menge( int capazity ){
interneListe = new ArrayList<E>( capazity );
}
public Menge( E eintrag ){
this();
interneListe.add( eintrag );
}
}
private class Generisch<E>{
private final Object[] bla;
public Generisch(int k){
bla = new Object[k];
}
}
private class Generisch2<E extends Number>{
private final Number[] bla;
public Generisch2(int k){
bla = new Number[k];
}
}
au, au, au, au auweia. och noe, nicht wirklich oder?
bevor es wieder wegeditiert wird, das post bezieht sich auf
stevg hat gesagt.:
meinst du so was:
Code:
private class Generisch<E>{
private final Object[] bla;
public Generisch(int k){
bla = new Object[k];
}
}
private class Generisch2<E extends Number>{
private final Number[] bla;
public Generisch2(int k){
bla = new Number[k];
}
}
Äh, KISS... den Code den du da postest wird nichtmal kompilieren...
Zum einen kann man keine generischen Arrays erstellen (new T[k] kannst du vergessen, das gibt ein Compilererror; T...t erstellt ein Object[], und mündet irgendwann in eine ClassCastException), zum anderen lautet die Syntax "class Name <Generics>" und nicht "class <Generics> Name" (zumindest verwenden sämtliche Klassen der API diese Reihenfolge, dann wird das wohl schon einen Sinn haben :wink: )
komisch das String[] strings test.blub("1","2","3"); geht, oder?
hast du mal das korigierte beispiel von mir untersucht? geht auch
woran kann das blos liegen?
Stimmt wenn ich in meinen Post noch Fehler entdecke oder mir die Formulierung nicht gefällt und noch niemand Bezug genommen hat editiere ich diese, das händel ich aber in allen Foren so.
Und mit dem au-au hast dir ja selbst nen Schuss verpasst :bae: :wink: *küssie*
aus erfahrung wird man klug und vermeidet diskusionen uebers edit www.java-forum.org/de/viewtopic.php?t=19172&highlight=
ausserdem war das nicht in dem sinne gemeint irgend etwas zu unterstellen sondern einfach um zu vermeiden das es diskusinen gibt falls noch ein edit erfolgt
Schalte doch einfach mal einen Gang zurück und überlege vor dem Posting, dann reduzieren sich auch Fehler auf ein Minimum. Es nutzt dem Fragenden wenig, wenn er sich seitenweise durch fehlerhafte Postings lesen muss.
komisch das String[] strings test.blub("1","2","3"); geht, oder?
hast du mal das korigierte beispiel von mir untersucht? geht auch
woran kann das blos liegen?
Hm, so tief bin ich nicht in der Materie, aber ich würde folgendes denken. Wenn man über das "test(...)" geht, wird rein generischer Code ausgeführt. Da Generics im Bytecode nicht vorhanden sind, bleibt nur Object[] als mögliche Umwandlung.
Bei einem direkten Aufruf von "blupp", wird bereits in der Methode main der String-Array hergestellt (so habe ich jedenfalls den Bytecode interpretiert. Du kannst in mit "javap -c Klasse" selbst angucken). In blupp wird dieser String[] aber als Object[] behandelt. Nur ändert das nichts an dem Typ des Objektes, und deshalb ist der anschliessende Cast zurück in ein String[] möglich.
Kompilat von "Test", so wie ich es oben gepostet hatte, aber mit direktem Aufruf von "blupp" (und nicht von "test").