java8 :: 用法 (JDK8 双冒号用法)

java8中新增的箭头符号x -> methodParam.accept(x),其实它相当于methodParam::accept,主要是配合forEach之类的往方法中传值。

public class AcceptMethod {

    static void  printValur(String str){
        System.out.println("print value : "+str);
    }

    public static void main(String[] args) {
        List al = Arrays.asList("a","b","c","d");
        for (String a: al) {
            AcceptMethod.printValur(a);
        }
      //下面的for each循环和上面的循环是等价的
        al.forEach(x->{
            AcceptMethod.printValur(x);
        });
    }
}

JDK::可以这样使用

public class AcceptMethod {

    static void  printValur(String str){
        System.out.println("print value : "+str);
    }

    public static void main(String[] args) {
        List al = Arrays.asList("a","b","c","d");
        for (String a: al) {
            AcceptMethod.printValur(a);
        }
      //下面的for each循环和上面的循环是等价的
      al.forEach(AcceptMethod::printValur);
    }
}

你可能感兴趣的:(java)