2016-05-19 8 views
-4

Vielen Dank für Ihr Interesse an meinem Problem! :)Einfache arraylist.add() funktioniert nicht: kann nicht zugreifen

Ich treffe nur ein Problem ein wenig seltsam für mich in diesem Code:

private ArrayList<Rank> rankList; 

public RankList(){ 
    try { 
     // Simple function for query my database 
     ResultSet ranks = SmashsAPI.instance.getBDD().get("rank", "*", null); 

     this.rankList = new ArrayList<>(ranks.getFetchSize()); 

     ranks.first(); 
     do{ 
      Rank rank = new Rank(ranks.getString("name"), ranks.getString("displayname"), ranks.getString("parrainage"), ranks.getString("perm")); 
      this.rankList.add(rank); 
     }while (ranks.next()); 

    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 
} 

Die Rank.class contructor:

private final String name, displayName, parrainage; 

public Rank(String name, String displayName, String parrainage, String permissions){ 
    this.name = name; 
    this.displayName = displayName; 
    this.parrainage = parrainage 

    //TODO: add permissions support 
} 

In dieser Zeile, erhalte ich eine „nicht zugreifen kann zu package.Rank“Fehler

this.rankList.add(rank); 

Die zwei Klassen und Funktion sind öffentlich und als ich versuchte, die gleichen Dinge zu tun, mit eine ArrrayList von String, ich habe keinen Fehler. Also ich verstehe es nicht.

Vielen Dank für dieses gelesen und interresting zu meinem Problem. :)

+0

Ich denke, dass wir hier einige Details vermissen. Wo ist eine Probe des Stacktrace? – Underbalanced

+0

Können Sie uns bitte zeigen, wo sich diese Klassen im Projekt befinden: Rangliste und Rang –

Antwort

0

Einige Tipps:

  1. Achten Sie darauf, die Klasse Rang public deklariert wird (wenn es in einem anderen Paket ist, öffentlich zu erklären Konstruktor ist nicht genug)

  2. Achten Sie auf die Rank importieren Klasse/Paket in Ihrer RankList-Klasse.

  3. Bereinigen Sie das Projekt und erstellen Sie es neu. Wenn Sie keine IDE verwenden und mit der Konsole kompilieren, müssen Sie möglicherweise zuerst die Klasse Rank kompilieren.