java - Java Array 根据子类中的变量对对象列表进行排序
问题描述
我有一个父类“内容”它的两个子类“文档”和“评估”。
@Document(collection = "content")
public class Content {
@Id
private String id;
private String name;
//this type is from enum
private Type type;
}
public enum Type {
DOCUMENT,
ASSESSMENT
}
public class Document extends Content {
private String priority;
}
public class Assessment extends Content {
private String priority;
}
public interface ContentRepository extends MongoRepository<Content, String> {
Page<Content> findAllByTypeIn(List<Type> types, Pageable pageable);
}
在服务层中,我得到了内容列表。
Pageable pageable = PageRequest.of(page, size);
List<Type> typeList = Arrays.asList(Type.DOCUMENT, Type.ASSESSMENT);
Page<Content> contents = contentRepository.findAllByTypeIn(typeList , pageable);
List<Content> contents = contents.getContent();
**//need to order this List**
在这里,我得到一个类型为 DOCUMENT 或 ASSESSMENT 的内容列表。我需要根据优先级订购此列表。注意:优先级在两个子类中。我无法将其移至超类,因为该父类的更多子类没有此“优先级”变量。
解决方案
推荐阅读
- php - Symfony 3.4 + FOSUserBundle 为新的自定义字段添加错误消息
- netlogo - NetLogo - 我如何获得乌龟面临的所有补丁?
- c# - 在 Microsoft 元目录服务中保存属性值时出现 InvalidOperationException
- java - 不明白如何为 Firebase 实时数据库中的每个键执行操作
- monitoring - 在 grafana 仪表板上显示应用程序版本
- android - 使用 Unity 编译后是否可以读取 apk 文件脚本?
- java - Mandelbrot Set 在 JavaFX 中使用自己的 Complex 类
- c# - 使用 C# 解析 Html 标签
- c++ - 在 C++ 中绘制正方形/板 5x5 网格(修复)
- hive - 使用 Sqoop 导入时处理 Hive 表中的分区