有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java流;比较对象

你好,我有一个关于streams的问题

我想对我的物品列表进行排序。我想通过名称比较属性,并比较每个对象的整数变量数

下面是我的代码。我评论了那句不起作用的话。如何根据对象的非基本属性的变量名进行排序

List<Object> objects
List<Object> sortedObjects = objects.stream()
          .sorted(Comparator.comparing(Object::getAtt().getName)) //this doesn't work.
          .sorted(Comparator.comparing(Object::getNumber))
          .collect(Collectors.toList());

public class Object {
    Attribute att;
    int number;
    
    public Attribute getAtt() {
        return att;
    }
    public int getNumber() {
        return number;
    }

}

public class Attribute {
    String name;

    public String getName() {
        return name;
    }

}

非常感谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    Object::getAtt().getName

    这不是一件事o -> o.getAtt().getName()我想这就是你要找的