User.java
package mmm.conlictions.sort;
public class User {
private String name;
private Integer order;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getOrder() {
return order;
}
public void setOrder(Integer order) {
this.order = order;
}
}
Java8LambdaTest.java
package mmm.asdff.ss;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import mmm.conlictions.sort.User;
public class Java8LambdaTest {
public static void main(String[] args){
// Java 8之前:
List<String> features = Arrays.asList("Lambdas", "Default Method", "Stream API", "Date and Time API");
for (String feature : features) {
System.out.println(feature);
}
// Java 8之后:
List<String> features1 = Arrays.asList("Lambdas", "Default Method", "Stream API", "Date and Time API");
System.out.println("--------------------");
features.forEach(n -> System.out.println(n));
System.out.println("--------------------");
// 使用Java 8的方法引用更方便,方法引用由::双冒号操作符标示,
// 看起来像C++的作用域解析运算符
features.forEach(System.out::println);
User user=new User();
user.setName("a");
user.setOrder(1);
User user3=new User();
user3.setName("c");
user3.setOrder(3);
User user1=new User();
user1.setName("b");
user1.setOrder(2);
List<User> list=new ArrayList<User>();
list.add(user);
list.add(user1);
list.add(user3);
/*//java8之前
* Collections.sort(list,new Comparator<User>(){
public int compare(User arg0, User arg1) {
return arg0.getOrder().compareTo(arg1.getOrder());
}
});*/
//java8之后
Collections.sort(list,( e1, e2 ) -> e1.getOrder().compareTo(e2.getOrder()));
for(User user0:list){
System.out.println(""+user0.getName());
}
}
}