【发布时间】:2020-08-07 09:45:26
【问题描述】:
我有一个 List 我想根据 column 对其进行排序。我使用了以下代码。
// data is List<List<String>>
data.sort(Comparator.comparing(e-> e.get(col)));
它的工作和排序根据指定的列。但是如果我使用reversed() 或thenComparing() 方法,它会说
error: cannot find symbol
data.sort(Comparator.comparing(e-> e.get(col)).reversed() );
^
symbol: method get(int)
location: variable e of type Object
还有thenComparing方法,
error: cannot find symbol
data.sort(Comparator.comparing(e-> e.get(col)).thenComparing(e->e.get(col2)) );
^
symbol: method get(int)
location: variable e of type Object
error: cannot find symbol
data.sort(Comparator.comparing(e-> e.get(col)).thenComparing(e->e.get(col2)) );
^
symbol: method get(int)
location: variable e of type Object
2 errors
我没有从错误消息中得到任何信息。仅供参考,我为此使用 OpenJDK 11。
【问题讨论】:
-
你能告诉我们最小的可重现代码吗?
-
我有一个 List
- > 和一些数据,然后我对它进行排序。然后将其打印到控制台。
-
您需要在 lambda 参数中指定类型。
(List<String> e )-> e.get(0) -
是的@saka1029 你的评论解决了我的问题
标签: java sorting arraylist java-11