如何在Eclipse插件中对WritableList进行排序

问题描述 投票:3回答:1

你如何对WritableList进行排序?我尝试使用sort方法,但它给了我一个不受支持的操作异常

示例代码:

writableList.sort( (o1, o2) -> o1.getPath().compareTo( o2.getPath() ) );

例外:

java.lang.UnsupportedOperationException
at org.eclipse.core.databinding.observable.list.ObservableList$2.set(ObservableList.java:250)
at java.util.List.sort(List.java:482)

来自ObservableList的迭代器的set方法:

@Override
public void set(E o) {
    throw new UnsupportedOperationException();
}
java eclipse eclipse-plugin eclipse-rcp
1个回答
0
投票

WritableList实施java.util.ListJavadoc中提到了获得此异常的原因

UnsupportedOperationException - 如果列表的list-iterator不支持set操作

你可以看到WritableList的iterator here的实现

你需要使用Collections.sort(writableList);

© www.soinside.com 2019 - 2024. All rights reserved.