百木园-与人分享,
就是让自己快乐。

java8::(JDK8双冒号)具有什么功能呢?

转自:

http://www.java265.com/JavaCourse/202206/3725.html

Java 8于2015年3月19发布,是自Java 5以来最具革命性的版本。
Java 8 为Java语言、编译器、类库、开发工具与JVM(Java虚拟机)带来了大量新特性

HashMap底层数据结构由链表改成了红黑树
内存模型中用元空间代替了永久带

lambda表达式等


 

下文笔者讲述JDK8中有双冒号的功能说明,如下所示

jdk8中双冒号的功能:
     将方法作为参数传入至stream内部
	 stream内部中每个元素都会放入到方法中运行

例:未采用双冒号的写法

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

    public static void main(String[] args) {
        List<String> al = Arrays.asList(\"a\",\"b\",\"c\",\"d\");
        for (String a: al) {
            TestClass.printValur(a);
        }

        al.forEach(x->{
            TestClass.printValur(x);
        });
    }
}

采用JDK双冒号的写法

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

    public static void main(String[] args) {
        List<String> al = Arrays.asList(\"a\", \"b\", \"c\", \"d\");
        al.forEach(TestClass::printValur);

        //下面的方法和上面等价的
        Consumer<String> methodParam = TestClass::printValur; //方法参数
        al.forEach(x -> methodParam.accept(x));//方法执行accept
    }
}


来源:https://www.cnblogs.com/java265/p/16456261.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » java8::(JDK8双冒号)具有什么功能呢?

相关推荐

  • 暂无文章