public class Test05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//注意引用方法的参数列表与返回值类型要与函数式接口中的抽象方法的参数列表与返回值类型保持一致
//lambda方法引用 Class::staticMethod
int[] arr=new int[]{5,4,3,2,1};
SortArray s=Arrays::sort;
s.sortArray(arr);
System.out.println(Arrays.toString(arr)); //[1, 2, 3, 4, 5]
//lambda方法引用 object::instanceMethod
Print pri=new Print();
SystemPrint sp=pri::print;
sp.print(100); //100
//lambda方法引用 Class::instanceMethod
String str1="b",str2="a";
ClassInstance ci=String::compareToIgnoreCase;
int result=ci.comp(str1, str2);
System.out.println(result); //1
}
}
interface SortArray{
void sortArray(int[] o);
}
//************************************
interface SystemPrint{
void print(int i);
}
class Print{
void print(int i){
System.out.println(i);
}
}
//***********************************
interface ClassInstance{
int comp(String first,String another);
}