Ich habe FunktionReturn-Klasse-Typ und haben Klassentyp als Parameter
private Class readObject (ObjectInput in, Class objectclass){
try {
Object o = in.readObject();
if (o instanceof objectclass) {
return (objectclass)o;
}
} catch (Exception e) {
}
In meiner Klasse ich diese Funktion anzurufenden mit:
ObjectInput in = (..)
Type1 type = readObject (in, Type1.class);
(do something with type)
while(true){
Type2 type2 = readObject (in, Type2.class);
(do something with type2)
Grundsätzlich ist readObject- soll die Klasse zurückzukehren, die ich habe als Parameter, wenn das der richtige Objekttyp ist o. Sie können sich das so vorstellen, als ob ich Type1-, Type2- und Type3-Objekte lese, die ich gerade lese, aber wenn ich auf Typ3 stoße, tue ich nichts.
Dieser Code, den ich geschrieben habe, funktioniert nicht richtig. Zum Beispiel
gibt mir die Warnung "kann nicht von Klasse zu Type1 konvertieren".
Haben Sie drei verschiedene Klassen genannt ' Class', 'Type1' und' Type2'? – Gendarme
Type1 und Type2 sind Klassen ja. "Klasse" ist meine Art zu versuchen, eine Klasse zurückzugeben. Ich versuchte auch Klasse > und Klasse, scheint nicht zu helfen –
hokosha
Da der Rückgabetyp eine Instanz von 'Type1' oder' Type2' sein muss, aber Sie eine Instanz von 'Class' zurückgeben – Clayn