Ich habe eine Klasse:Wie Cast zu unknow Klasse
public class Example {
public String name;
}
aber diese Klasse nicht aufgerufen werden, Beispiel verschieden sein kann (wie Example2, AnotherExample ich weiß nicht, wie), das Problem ist, dass Ich weiß nicht, wie man mich anruft.
In einer anderen Klasse habe ich eine Methode, die als Parameter eine Liste von Objekten übernehmen. Mein Beispiel Klasse:
public class ObjectClass{
public List<Object> doSomething(List<Object> objects) {
for(int i = 0 ; i < objects.size();i++) {
Class<?> c = objects.get(i).getClass();
System.out.println("class name " + c.getCanonicalName());// i get name my class
System.out.println(((Example) objects.get(i)).name);
}
}
}
Wenn ich die Besetzung Beispiel in einer anderen Klasse wie diese System.out.println(((c) objects.get(i)).name);
es funktioniert nicht ändern.
Meine Klasse kann sich anders als Cast an Beispiel wird nicht funktionieren. Generell möchte ich Wert des Namens erhalten, während ich nicht weiß, wie die Klasse benannt ist. Aber ich wähle welche Klasse mit einem Feldnamen (oder mit einer Anmerkung). Edit: ist ein Problem, es ist meine Hausaufgaben und ich kann nicht Klasse Beispiel ändern, und ich kann nicht ändern, Methode DoSomething.
Dank für Versuch helfen, aber ich hinzufügen, bearbeiten zu meinem Beitrag, da ich nicht Klasse Beispiel ändern kann, und ich kann meine eigene Schnittstelle nicht hinzufügen, kann ich nur das, was Code schreibt in Klasse Object (ich kann 't chcange Declaration method doSomethnig) – grapexs
@grpexs siehe bearbeiten. –
Ich denke, dass es immer noch nicht das ist, was ich meine, weil mein Homowerk ist, dass ich nicht weiß, wie eine Klasse heißt. Mein Lehrer nannte Klasse Beispiel wie er will, ich kenne keinen Klassennamen. – grapexs