+ Antworten
Ergebnis 1 bis 7 von 7
  1. #1
    Super Architekt Avatar von Stuuupiiid
    Registriert seit
    22.04.2011
    Beiträge
    1.075
    Minecraft
    Stuuupiiid

    ArrayList auch mit Klassen möglich?

    Hi,

    mit einer ArrayList kann ich Strings, Integer etc. speichern. Kann ich damit auch Klassen selbst speichern? z.B. jetzt die Klassen BlockFurnace und BlockBed oder ItemPickaxe und ItemShovel.

    Wenn nicht, gibt es dann eine Alternative?

    mfG

  2. #2
    Architekt
    Registriert seit
    27.03.2012
    Beiträge
    1.000
    @OpiKenopi

    Klar kannst du das. String, Integer, ... sind alles auch nichts Anderes als Klassen.
    Du musst dann einfach
    Code:
    List<BlockBed> list = new ArrayList();
    machen. Oder wenn du BlockBed und BlockFunrace machen willst, kannst du auch Block als Klasse nehmen (das in den <...> austauschen).

  3. #3
    Creeper-Jäger Avatar von Gnoccy
    Registriert seit
    25.12.2010
    Beiträge
    443
    Minecraft
    Gnoccy
    @Johannes_C25
    Stimmt nicht ganz. Soweit ich weiss kannst du Objekte einer Klasse in einer ArrayList speichern, aber nicht die Klasse selbst.

  4. #4
    Creeper-Jäger
    Registriert seit
    01.12.2011
    Beiträge
    395
    Hat er das versucht? Generics.







  5. #5
    Tauncrafter Avatar von Terradominik
    Registriert seit
    30.04.2011
    Beiträge
    430
    Minecraft
    Terradominik
    Generell kannst du jeden Referenzdatentyp in einer ArrayList speichern. Jedoch solltest du wenn du schon Collections verwenden willst darauf achten die richtige zu wählen (ArrayList ist nur in wenigen fällen die Effizienteste)

  6. #6
    Super Architekt Avatar von Stuuupiiid
    Registriert seit
    22.04.2011
    Beiträge
    1.075
    Minecraft
    Stuuupiiid
    Code:
    	public static ArrayList<Class<? extends BiomeGenBase>> test = new ArrayList<Class<? extends BiomeGenBase>>();
    und


    Code:
    		test.add(net.minecraft.src.BiomeGenPlains.class);
    Das ist die Lösung!

    Ich habe trotzdem noch eine Frage.
    normalerweise benutze ich folgendes:

    Code:
    if(world.getWorldChunkManager().getBiomeGenAt(x, z) instanceof BiomeGenJungle) {blabla}
    Jetzt möchte ich anstatt BiomeGenJungle jedoch eine der Klassen aus der ArrayList bekommen...

  7. #7
    Architekt Avatar von MCenderdragon
    Registriert seit
    15.11.2011
    Beiträge
    1.991
    Minecraft
    MCenderdragon
    naj geht
    Code:
    While list.hasNext
    und dan abfragen ob es dir richtige klasse ist

+ Antworten