Type mismatch-Fehler zwischen java.lang.String und String

Dies ist wirklich ein seltsames problem, das ich nie begegnet bin, so etwas.
Das folgende ist eine Hilfsklasse, die ich erklärt haben innen eine größere Klasse. Es läuft alles perfekt in Ordnung ist:

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;
    }
}

Jedoch durch Herumspielen entdeckte ich eine verwirrende problem.
Durch ersetzen Sie diese Zeile:

root.data = rootData;

mit:

root.data = "some string literal";

Bekomme ich diesen Fehler:

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

Getestet habe ich einige string-literal Aufgaben in anderen Klassen und es scheint zu funktionieren sehr gut. Ich vor kurzem aktualisiert, um Java-1.7.0_15 und vor kurzem heruntergeladen und installiert Eclipse 4.2. Ich vermute, es könnte einige Verwirrung in den build path oder so etwas.
Mit Ubuntu 12.04

Jede Hilfe wäre sehr geschätzt werden! Ich habe gesucht und gesucht und konnte nicht finden, dass irgendetwas in der Nähe zu diesem problem.

  • Das ist wirklich interessant. Ich habe noch nie auf etwas gestossen, wie dies vor.
InformationsquelleAutor StumpedCoder | 2013-03-24
Schreibe einen Kommentar