2016-10-05 3 views
0

Ich versuche, alle Elemente in einer Tabellenansicht zu erhalten und sie in einer Array-Liste für die weitere Verarbeitung zu platzieren. Das ist es, was ich versuche zu erreichen, aber offensichtlich wird es nicht funktionieren.Wie konvertiert man eine beobachtbare Liste in eine Array-Liste? Java

ArrayList<Consultation> showing = consultationTable.getItems(); 
+4

Wenn Sie _must_ eine 'ArrayList' haben, dann' Arraylist zeigt = new Arraylist (consultationTable.getItems()) ' – khelwood

+0

was' 'ArrayList zeigt = new ArrayList <> (consultTable.getItems());' '? – f1sh

+3

Gibt es einen Grund, warum speziell eine 'ArrayList' benötigt wird? Warum nicht 'Liste zeigen = ...;'? Programm zu einer Schnittstelle, keine Implementierung. – Jesper

Antwort

2

Nizza und empfohlene Lösung:

List<Consultation> showing = provider.getItems(); 

Lösung nur zu verwenden, wenn notwendig:

List<Consultation> consultations = provider.getItems(); 
    ArrayList<Consultation> showing; 
    if (consultations instanceof ArrayList<?>) { 
     showing = (ArrayList<Consultation>) consultations; 
    } else { 
     showing = new ArrayList<>(consultations); 
    } 

Wenn aus irgendeinem Grund müssen Sie eine Arraylist-Methode verwenden, die nicht in der Liste ist oder ObservableList-Schnittstelle (ich kann nicht leicht von warum denken), können Sie letztere verwenden.

1

Eine einfache Methode unter Verwendung von Stream-Klasse

List<T> list = ObservableList<T>.stream().collect(Collectors.toList()); 
Verwandte Themen