长话短说,我正在使用JDBI DAO访问数据。在查询中使用动态顺序很困难。因此,我计划在查询结果获取后使用Java 8流作为后处理步骤来执行此操作。
问题在于比较器的工作方式需要静态声明对象的方法。
我该如何动态地处理像这样的变量?
请注意,我将保留原始文本中的HTML标记。
问题在于比较器的工作方式需要静态声明对象的方法。
shepherds = shepherds.stream()
.sorted(Comparator.comparing(Shepherd::getId).reversed())
.collect(Collectors.toList());
我该如何动态地处理像这样的变量?
请注意,我将保留原始文本中的HTML标记。
orderBy = id
orderDirection = ASC
所以我可以将这个方法调用参数化吗?
例如:
if(orderDirection.equals("ASC"))
shepherds.stream().sorted(Comparator.comparing(orderBy));
else
shepherds.stream().sorted(Comparator.comparing(orderBy).reversed());
Comparator.comparing(-orderBy)
来代替反向顺序的样板代码。 - user unknown