Java 8 сортировать несколько объектов - PullRequest
1 голос
/ 19 марта 2019
   public class B {
              private String name;
              private String  value;

             //Setters and Get
       }        
       public class C {
             private String name;
             private String  value;
        //Setters and Get Methods
       }
        public class D {
             private String name;
             private String  value;
             //Setters and Get
        }
        public class A {
              private B b;
              private C c;
              private D d;
            // Setters and Get
         }
        public class  Example{
          List<A> a = new Array List<A>();
            //Lets assume a  will contain objects of class B, C and D
           a .sort( Comparator.comparing(A::getB().getName).thenComparing(A::getC().getName));

         }

Сортировка поля из одного pojo, затем сортировка поля по следующему pojo. Нужно понимать, как сортировать в этой ситуации. Можем ли мы использовать Comparator.comparing () в этом случае?

1 Ответ

2 голосов
/ 19 марта 2019

Вы не можете использовать метод refences таким образом, но вы можете просто использовать лямбда-выражения:

a.sort(Comparator.comparing((A x) -> x.getB().getName())
                 .thenComparing(x -> x.getC().getName()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...