Erreur d'incompatibilité de Type entre java.lang.Chaîne et de la Chaîne

C'est vraiment une drôle de problème, je n'ai jamais rencontré quelque chose comme ça.
Ce qui suit est une classe d'aide j'ai déclarée à l'intérieur d'une classe plus large. Il fonctionne parfaitement bien comme il est:

private static class Tree<String> {
    private Node<String> root;

    public Tree(String rootData) {
        root = new Node<String>();
        root.data = rootData;
        root.children = new ArrayList<Node<String>>();
    }

    private static class Node<String> {
        String data;
        Node<String> parent;
        ArrayList<Node<String>> children;
    }
}

Cependant, par déconner, j'ai découvert un problème de confusion.
En remplaçant cette ligne:

root.data = rootData;

avec:

root.data = "some string literal";

J'obtiens cette erreur:

Type mismatch: cannot convert from java.lang.String to String

J'ai testé quelques littéral de chaîne d'affectations dans d'autres classes, et il semble fonctionner parfaitement bien. J'ai récemment mis à jour pour Java 1.7.0_15 et récemment téléchargé et installé Eclipse 4.2. Je soupçonne qu'il pourrait y avoir une certaine confusion dans le build path ou quelque chose.
Utiliser Ubuntu 12.04

Toute aide serait grandement appréciée! J'ai cherché et cherché et je ne pouvais pas trouver quelque chose proche de ce problème.

C'est vraiment intéressant. Je n'ai jamais rencontré quelque chose comme ça avant.

OriginalL'auteur StumpedCoder | 2013-03-24