Должна ли перестановка в ObservableList генерировать добавленные и удаленные изменения в JavaFX?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Должна ли перестановка в ObservableList генерировать добавленные и удаленные изменения в JavaFX?

Сообщение Anonymous »

Я думал, что при перестановке в ObservableList добавленные и удаленные изменения не должны генерироваться. Однако вызов FXCollections.reverse() показал, что это не так. Это мой код:

Код: Выделить всё

public class Permutation {

public static void main(String[] args) {
test("FXCollections.reverse()", FXCollections::reverse);
test("sort(reverseOrder())", list -> list.sort(Comparator.reverseOrder()));
}

private static void test(String name, Consumer op) {
ObservableList list = FXCollections.observableArrayList(1, 2, 3);
list.addListener((ListChangeListener) change -> {
while (change.next())
System.out.printf("%s - Added: %s, Removed: %s, Permutated: %s%n",
name, change.wasAdded(), change.wasRemoved(), change.wasPermutated());
});
op.accept(list);
}
}
И вот результат:

Код: Выделить всё

FXCollections.reverse() - Added: true, Removed: true, Permutated: false
sort(reverseOrder()) - Added: false, Removed: false, Permutated: true
Скажите, пожалуйста, это ошибка или ожидаемое поведение?

Подробнее здесь: https://stackoverflow.com/questions/798 ... changes-in
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»