Ich erstelle meine Liste wie folgt und übergibt eine Methode withInitialListeners
und dann sehe ich keinen Kompilierungsfehler und es funktioniert gut.Wie initialisiert man die Sammlung in einer Zeile?
List<Host.StateListener> cassListener = new ArrayList<>(); // line 1
cassListener.add(new CassListener()); // // line 2
Builder clusterBuilder = Cluster.builder();
Cluster cluster =
clusterBuilder
.withInitialListeners(cassListener).build();
Jetzt dachte ich line1 und line2 in einer einzigen Zeile zu kommen und direkt an withInitialListeners
-Methode übergeben, damit ich so etwas wie dies tat:
Builder clusterBuilder = Cluster.builder();
cluster =
clusterBuilder
.withInitialListeners(Arrays.asList(new CassListener())).build();
Aber mit diesem Ansatz Kompilierungsfehler es gibt mir wie unten gezeigt:
The method withInitialListeners(Collection<Host.StateListener>) in the type Cluster.Builder is not applicable for the arguments (List<CassListener>)
Was ist falsch und wie kann ich es beheben? Ich arbeite mit Java 7.
Ist 'withInitialListeners()' deins? Oder eine 3rd-Party-Bibliothek. – Mordechai
Sollten Sie nicht etwas wie 'new ArrayList (Arrays.asList (new CassListener()))'? –
user2004685
@ user2004685 Ja das ist richtig .. Entschuldigung, machen als Antwort und ich werde es akzeptieren. –