Ich habe diese Vorgabe:" public static List<String> classes(Object o)". Ich möchte jetzt alle benutzten Klassen in meinem Projekt nach Superklasse -> Klasse-> Unterklasse sortieren. Also die Ausgabe sollte so aussehen:
Superklasse: class Object //root
Packages : java.io, java.lang // alle benutzten "packages". Reihenfolge ist egal
Klassen: BufferReader //Hier sollte es hierarchisch sortiert sein.
Methoden: .read(); // Sollen direkt nach der Klasse kommen in der sie enthalten sind.
Ich habe keine Ahnung wie ich das umsetzen könnte. Ich habe mal ohne die Voraussetzung versucht dies zu machen.
Output:
class java.util.ArrayList
class java.util.AbstractList
class java.util.AbstractCollection
class java.lang.Object
null
Mein Ansatz ist ziemlich umständlich.
Vielleicht wisst ihr weiter.
Superklasse: class Object //root
Packages : java.io, java.lang // alle benutzten "packages". Reihenfolge ist egal
Klassen: BufferReader //Hier sollte es hierarchisch sortiert sein.
(
class java.util.AbstractCollection
class java.util.AbstractList
class java.util.ArrayList
)
class java.util.AbstractCollection
class java.util.AbstractList
class java.util.ArrayList
)
Ich habe keine Ahnung wie ich das umsetzen könnte. Ich habe mal ohne die Voraussetzung versucht dies zu machen.
Code:
import java.util.*;
public class Test
{
public static void main (String args [])
{
classesname();
}
public static void classesname()
{
ArrayList<String> neueListe = new ArrayList<String>();
Class<?> b = neueListe.getClass();
Class<?> s =b.getSuperclass();
Class<?> t = s.getSuperclass();
Class<?> a = t.getSuperclass();
Class<?> c = a.getSuperclass();
System.out.println(b + "\n" + s + "\n" + t + "\n" + a + "\n" + c);
}
}
Output:
class java.util.ArrayList
class java.util.AbstractList
class java.util.AbstractCollection
class java.lang.Object
null
Mein Ansatz ist ziemlich umständlich.
Vielleicht wisst ihr weiter.