javac "uses unchecked oder unsichere Vorgänge", wenn der Typ angegeben wird

Folgenden code:

public void addGrillaListener(Stage stageToClose,Grilla listener)
{
    GrillaHandler<WindowEvent> handy = new GrillaHandler<>(listener);
    if(stageToClose!=null)
    {
        stageToClose.addEventHandler(WindowEvent.WINDOW_HIDDEN,handy);
    }
}

veranlasst den compiler, um zu zeigen, dass Nachricht. Wie kann ich es vermeiden?

Extra info:

  • Grilla ist eine Bühne-Schnittstelle
  • GrillaHandler ist ein Event-Handler Unterklasse, die es braucht, Grilla, als constructor-parameter
  • Mit dem JDK 7, GrillaHandler<> erlaubt ist
  • Die compiler-Meldung ist eher unespecific - es besagt, dass diese Methode verwendet, deaktiviert oder unsichere Vorgänge
  • Bühne ist eine Klasse von oracle, es ist ein Teil der javafx -

GrillaHandler:

public class GrillaHandler<T> implements EventHandler {

    private Grilla win;

    public GrillaHandler(Grilla win) {
        this.win=win;
    }

    @Override
    public void handle(Event t) {
        win.loadTable();
    }
}

Grilla:

public interface Grilla { 
    public void loadTable();
}
  • Zeigt die Meldung an, welche Linie?
  • Für mich scheint es ein problem mit dem parameter Stage stageToClose. Wie es aussieht wird das ein parametrisierter Typ, so dass es später akzeptieren Ereignishandler von einem bestimmten Typ. Aber es ist nicht ersichtlich in deinem code. Kannst du die Definitionen von Stage und Grilla?
  • GrillaHandler<WindowEvent> handy = neue GrillaHandler<WindowEvent>(listener);
  • Es ist nicht mehr notwendig, zu erklären, die Art der Initialisierung, wenn Ihr die gleichen wie die Erklärung. Ich denke, das von JDK 7 ab.
  • Fügen Sie das @SuppressWarnings("unchecked") - annotation der Methode und die Meldung geht Weg.
  • wer sagt Alvaro ist mit dem JDK 7?
  • Ja, lasst uns einfach unterdrückt alle Warnungen, ohne diese zu untersuchen.
  • Wenn er nicht aus, er würde immer zu einem compiler-Fehler, keine Warnung.
  • Danke für die Erklärung. Also, was ist die Linie die Warnung Auftritt auf?
  • Ich natürlich wusste er, warum der compiler Ausgänge der Botschaft, und er wollte, um Sie zu unterdrücken sowieso. So viel für eine Einstellung. Wir definitelly brauchen mehr code zu analysieren, der. Wir brauchen die Bühne, Grilla und GrillaHandler Definitionen.
  • Was ist WindowEvent.WINDOW_HIDDEN? Auf der Grundlage der addEventHandler Dokumentation, es muss ein EventType, die einen parametrisierten Typ ist WindowEvent.WINDOW_HIDDEN eine raw-Typ?
  • Wenn dies JavaFx, nach javadocs es ist EventType<WindowEvent>, nicht ich?
  • Ja, du hast Recht. Also der Aufruf sieht gut aus...
  • Ich denke, das problem ist, dass javafx.EventHandler ist ein parametrisierter Typ und kein Typ als argument in die Erklärung der GrillaHandler

InformationsquelleAutor Alvaro | 2013-01-10
Schreibe einen Kommentar