Java 8 - Method References
下面为Method References的实际应用:
public class TestSimpleMethod {
public static void main(String[] args) {
//创建List集合使用泛型结构
List<String> list = new ArrayList<String>();
List<File> listFiles = new ArrayList<File>();
//添加数据
listFiles.add(new File(""));
listFiles.add(new File(""));
listFiles.add(new File(""));
list.add("asd");
list.add("abc");
list.add("cjm");
//x类实例化
X x1 = new X();
//使用1.8的lambda的简写模式 让代码更加直观
/**
*其中重要的是方法中的变量类型与方法的返回类型,若
*都与你要数据相符,便可以使用该方式去简写
*不得不说jdk1.8真是一个很友好的发明
*但现在并不是所有公司都建议使用该表达式
*因为它让接手你后面工作的人难以看懂代码是做什么事
*/
// list.stream().forEach( x1::string);
list.stream().sorted(x1::getname).forEach(x1::string);
listFiles.stream().sorted(
// (File o1, File o2)-> {
// return o1.getName().compareToIgnoreCase(o2.getName());}
x1::comp
).forEach(System.out::println);;
}
}
class X {
public void string(String s) {
System.out.println(s);
}
public int getname(String s, String s2) {
return s.compareToIgnoreCase(s2);
}
public int comp(File s, File s2) {
return s.getName().compareToIgnoreCase(s2.getName());
}
}