zoukankan      html  css  js  c++  java
  • Java8新特性之lambda表达式

    简介

    Java8带来的新特性之一Lambda表达式,又称之为函数式编程,核心思想是将面向对象中的传递对象变为传递行为

    语法

    expression = (variable) -> anction
    eg: int sum = (x,y) ->x+y;

    • variable:相当于一个变量,可以有多个
    • action:代码逻辑部分,可以是一行也可以是一个代码段
    package com.jdk8;
    
    public class Student {
    
    
        private String name;
        private String city;
        private int age;
        private String sex;
    
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getCity() {
            return city;
        }
    
        public void setCity(String city) {
            this.city = city;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getSex() {
            return sex;
        }
    
        public void setSex(String sex) {
            this.sex = sex;
        }
    
    }
    
    package com.jdk8;
    
    public interface TestInterface<T> {
    
        Boolean test(T param);
    }
    
    
    package com.jdk8;
    
    import org.junit.Test;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class TesFunction {
    
        @Test
        public void testLambda(){
        
         
            //3.有参,有返回值
            func((Integer x)->{
                System.out.println("Hello,world"+x);
                return true;
            });
            //
            List<Student> stuList = new ArrayList<Student>();
            for(int i = 0 ;i < 5 ;i++){
                Student s = new Student();
                s.setName("李磊");
                s.setAge(20);
                s.setCity("China");
                s.setSex("man");
                stuList.add(s);
            }
            int cout = (int) stuList.stream().filter((student -> student.getCity().equals("China"))).count();
            System.out.println(cout);
    
        }
        private void func(TestInterface<Integer> functionInterface){
            int x =1;
            functionInterface.test(x);
        }
    }
    
    
  • 相关阅读:
    C语言I博客作业11
    第十四周助教总结
    C语言I博客作业10
    Tensorflow--MNIST简单全连接层分类
    记一些好看的Android开源菜单
    AS更新到3.5.2遇到ERROR: SSL peer shut down incorrectly问题
    Tensorflow tf.app.flags 的使用
    Android Sensor(传感器)
    《第一行代码》百分比布局出现的问题
    当Turtle遇见柯南?
  • 原文地址:https://www.cnblogs.com/gosun/p/9545335.html
Copyright © 2011-2022 走看看