list.sort(Comparator.comparing(m -> Long.valueOf(m.get("timestamp"))).reversed());中的get报错
时间: 2024-05-13 10:19:51 浏览: 107
这个报错可能是因为你使用了一个不支持 get 方法的对象类型。在这个例子中,我们使用了一个 `List<Map<String, String>>` 的对象,其中每个 Map 对象都包含了一个名为 "timestamp" 的 String 类型的键值对。
如果你的代码中报错了,那么可能是因为你没有正确地使用 Map 对象。在这种情况下,你需要先确保你的 Map 对象中确实有一个名为 "timestamp" 的键值对,才能使用 `get("timestamp")` 方法。
你可以尝试修改代码,将其分解为多个语句来调试:
```
// 先获取一个 Map 对象
Map<String, String> map = ...;
// 然后从 Map 中获取 "timestamp" 字段
String timestamp = map.get("timestamp");
// 将字符串类型的 timestamp 转换为 long 类型
long timestampLong = Long.valueOf(timestamp);
// 创建一个 Long 类型的比较器,用于比较 timestampLong 字段
Comparator<Long> comparator = Comparator.reverseOrder();
// 排序 List<Map<String, String>> 对象
list.sort(Comparator.comparing(map -> Long.valueOf(map.get("timestamp"))).reversed());
```
这样,你就可以逐步检查代码,并在出现问题时更容易找到错误。
阅读全文