Vérifier si l'Objet est instance d'une Liste<Object>

J'ai un Object qui contient parfois un List<Object>. Je veux vérifier avec instanceof, et si elle l'est, puis ajouter quelques éléments.

void add(Object toAdd) {
    Object obj = getValue();
    if (obj instanceof List<?>) {
        List<?> list = obj;
        if (list instanceof List<Object>) {    //Error
            ((List<Object>) list).add(toAdd);
        } else {
            List<Object> newList = new ArrayList<Object>(list);
            newList.add(toAdd);
            setValue(newList);
        }
        return;
    }
    throw new SomeException();
}

Et on me dit que je ne peux pas vérifier si il est instanceof List<Object> parce que java n'a pas de soins et effacé le type de <>.
Est-ce à dire que je crée new ArrayList à chaque fois? Ou est-il un moyen de vérifier que, par exemple. avec la réflexion?

Ce que le diable est ce morceau de code censé faire?
Il est connu comme le Type d'effacement en Java stackoverflow.com/questions/339699/...
cela va être un wrapper autour de snakeyaml. Si j'ai une liste en yaml, il va l'analyser pour certains de la liste en Java. Si je veux ajouter un élément à cette liste, j'ai besoin de savoir quel type de liste il est. C'est pourquoi je fais une nouvelle liste de tableaux de type connu et ajoutez tous les éléments anciens, plus une nouvelle. Puis-je remplacer l'ancienne liste avec le nouveau, et quand je l'appelle snakeyaml pour la convertir à yaml, mon élément ajouté sera là.
Je veux ajouter un élément à cette liste, j'ai besoin de savoir quel type de liste il est." Non, vous ne le font pas. Comment snakeyaml "de savoir quel type de liste, il est"? Aussi longtemps que snakeyaml ne se soucie pas de ce que vous mettez là-dedans, il n'a pas d'importance.
Lol, je viens de remarqué que je peut lancer une liste à une Liste<Ce> ajouter et de ne pas jeter n'importe quoi.

OriginalL'auteur Wolf480pl | 2013-02-03