LinkedList generica [Resolvido]

5 respostas
belitos
Olá pessoal,

Estou usando a colecao LinkedList do java, mas estou tendo problemas na hora de transforma-la em um vetor.

alguem saberia me dizer qual o problema?

O erro eh na linha 18

quando eu compilo eu recebe essa excessao

"Exception in thread main java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [LCards.Card;

at Game.Garbage.test(Garbage.java:32)

at Game.Table.(Table.java:89)

at Game.Table.(Table.java:36)

at main.Main.main(Main.java:23)

Java Result: 1

"

Obrigado
public class Garbage {

   private LinkedList <Card> list;

    public Garbage()
    {
        list = new LinkedList<Card>();

    }

    public void insertCardAtGarbage(Card c)
    {
        list.add(c);
    }

    public void test()
    {
        Card[] c = (Card[]) list.toArray();

        for(int i = 0; i< c.length; i++)
        {
            System.out.printf("%c\t",c[i].getValue());
        }
    }
    
}

5 Respostas

Tchello

Declare-a como uma List, interface comum delas ou mesmo como uma Collection, para algo ainda mais genérico.

ViniGodoy

Você transforma ela num array assim:

Card[] c = list.toArray(new Card[0]);

Agora, não entendi pq vc vai transformá-la num array. Não era melhor só percorre-la com um foreach direto?

for(Card c : list) { System.out.printf("%c\t",c.getValue()); }

sergiotaborda

ViniGodoy:
Você transforma ela num array assim:

Card[] c = list.toArray(new Card[0]);

ou ,melhor ainda

Card[] c = list.toArray(new Card[list.size()]);
belitos

Aquele printf la eh so pra ver se tava tudo correto…

belitos

Obrigado a todos pela ajuda. esta funcionando agora

Criado 15 de outubro de 2009
Ultima resposta 15 de out. de 2009
Respostas 5
Participantes 4