sud*_*ato 2 java sorting lambda arraylist java-8
我正在尝试排序和打印ArrayList按ID排序的内容.
clientArr.sort( (p1, p2) -> p1.getAccount().getID().compareTo(p2.getAccount().getID()) );
for(Client client : clientArr)
System.out.println(client);
Run Code Online (Sandbox Code Playgroud)
我相信我的问题是因为p1并p2期望返回对象,但它们正在获得int价值.我该如何解决这个问题?
ArrayList存储Client对象.客户端类包含String值(在此示例中不重要),它创建Account对象的实例.在Account类中存储了int ID值.这就是我需要的价值
clientArr.sort((p1, p2) -> Integer.compare(p1.getAccount().getID(),
p2.getAccount().getID()));
Run Code Online (Sandbox Code Playgroud)
此外,您的for-each循环可以重写为
clientArr.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |