美文网首页Java
java8 :: 用法 (JDK8 双冒号用法)

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

作者: 黑客和白帽子的故事 | 来源:发表于2018-03-30 16:23 被阅读0次

特性

jdk8中使用了::的用法。就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下,双冒号运算就是Java中的[方法引用],[方法引用]的格式是:

  类名::方法名 

注意此处没有()。

案例:

表达式:

person -> person.getAge();

使用双冒号:

Person::getAge

表达式:

new HashMap<>()

使用双冒号:

HsahMap :: new

部分代码案例

未使用双冒号

public class MyTest {
    public static void main(String[] args) {
        List<String> a1 = Arrays.asList("a", "b", "c");

        for (String a : a1) {
            printValur(a);
        };

        a1.forEach(x -> MyTest.printValur(x));


    }

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

使用后

     a1.forEach(MyTest::printValur);

        Consumer<String> consumer = MyTest::printValur;
        a1.forEach(x -> consumer.accept(x));

未使用双冒号:

     List<String> list = a1.stream().map(x -> x.toUpperCase()).collect(Collectors.toList());
        System.out.println(list.toString());

使用双冒号:


        ArrayList<String> collect = a1.stream().map(String::toUpperCase).collect(Collectors.toCollection(ArrayList::new));
        System.out.println(collect.toString());

相关文章

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

    特性 jdk8中使用了::的用法。就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里...

  • java8 stream

    JDK8中有双冒号的用法,就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一...

  • Java :: 用法

    JDK8中有双冒号的用法,就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一...

  • c++中冒号(:)和双冒号(::)的用法

    : 的用法 表示机构内位域的定义,即该变量占几个bit空间 构造函数后面的冒号起分割作用,是类给成员变量赋值的方法...

  • c++中冒号(:)和双冒号(::)的用法

    1.冒号(:)用法 (1)表示机构内位域的定义(即该变量占几个bit空间) (2)构造函数后面的冒号起分割作用,是...

  • java8 时间常见用法工具类

    java8 时间常见用法工具类

  • c++ 中双冒号(::)的用法

    1、表示“域操作符”例:声明了一个类A,类A里面声明了一个成员函数 void click(),但没有在类的声明里边...

  • 测试列表冒号用法

    测试1:

  • C++中 ::的作用

    双冒号 :: 操作符被称为域操作符(scope operator),含义和用法如下: 1.在类外部声明成员函数。v...

  • JDK8新特性

    一、Lambda表达式二、方法调用(双冒号)的用法三、Stream函数式操作流元素集合四 、接口新增:默认方法与静...

网友评论

    本文标题:java8 :: 用法 (JDK8 双冒号用法)

    本文链接:https://www.haomeiwen.com/subject/brlicftx.html