gpt4 book ai didi

java - 无法排序。如何按名称对对象列表进行排序?

转载 作者:行者123 更新时间:2023-12-01 20:24:49 25 4
gpt4 key购买 nike

我想对 childRequirementGroupControllers 进行排序,它是 RequirementGroupController 的列表,但它不允许我这样做。从语法上来说,我做错了什么?

private List<RequirementGroupController> childRequirementGroupControllers = new ArrayList<RequirementGroupController>();

@Override
public void requirementAdded(Requirement requirement)
{
Collections.sort(childRequirementGroupControllers, (RequirementGroupController a1,
RequirementGroupController a2) -> a1.getRequirementGroup.getName() - a2.getRequirementGroup.getName());
}

我有内部 RequirementGroup Controller :

public class RequirementGroupController extends BaseController
{
public Requirement getRequirementGroup()
{
return requirementGroup;
}

}

其中包含一个 Requirement 类,我最终想通过 Requirement.getName() 进行排序。

最佳答案

您需要使用String#compareTo按名称对 ArrayList 中的对象进行排序。

Collections.sort(childRequirementGroupControllers, (a1, a2) -> a1.getRequirementGroup.getName().compareTo(a2.getRequirementGroup.getName()));

请注意,在使用 lambda 表达式时,我没有显式指定参数类型,因为这是从上下文推断出来的。

关于java - 无法排序。如何按名称对对象列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44030651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com