Я создаю свой список следующим образом и перейдя к методу withInitialListeners
, а затем я не вижу ошибок компиляции, и он отлично работает.Как инициализировать сбор в одной строке?
List<Host.StateListener> cassListener = new ArrayList<>(); // line 1
cassListener.add(new CassListener()); // // line 2
Builder clusterBuilder = Cluster.builder();
Cluster cluster =
clusterBuilder
.withInitialListeners(cassListener).build();
Теперь я уже думал приходить line1 и line2 в одной строке и передать его непосредственно withInitialListeners
метод, так что я сделал что-то вроде этого:
Builder clusterBuilder = Cluster.builder();
cluster =
clusterBuilder
.withInitialListeners(Arrays.asList(new CassListener())).build();
Но при таком подходе он дает мне ошибку компиляции как показано ниже:
The method withInitialListeners(Collection<Host.StateListener>) in the type Cluster.Builder is not applicable for the arguments (List<CassListener>)
Что не так, и как я могу это исправить? Я работаю с Java 7.
Is 'withInitialListeners()' yours? Или сторонняя библиотека. – Mordechai
Разве вы не должны делать что-то вроде 'new ArrayList (Arrays.asList (новый CassListener()))? –
user2004685
@ user2004685 да это правильно .. извините, сделайте, чем ответ, и я его приму. –