1. 程式人生 > 資訊 >威馬創始人沈暉談智慧純電汽車:用了就回不去了

威馬創始人沈暉談智慧純電汽車:用了就回不去了

lambda表示式,鏈式程式設計,函式式介面,Stream流式計算

函式式介面(只有一個方法的介面)

  • 簡化程式設計模型
  • 在新版本的框架底層大量應用
  • foreach(消費者型別的函式式介面)

四大函式式介面

Function 有一個輸入引數,有一個輸出引數

/*函式式介面
* 有一個輸入引數,有一個輸出引數,可以用Lambda表示式簡化*/
public class FunctionTest {
    public static void main(String[] args) {

       /* //輸出輸入的值
        Function<String, String> function = new Function<String, String>() {
            @Override
            public String apply(String o) {
                return o;
            }
        };*/

        //Lambda表示式簡化
        Function function=(str)->{return str;};
        System.out.println(function.apply("s"));
    }
}

Predicate 斷定型介面 只有一個輸入引數,返回一個布林值

public class PredicateTest {
    /*
    * 斷定式介面只有一個輸入引數,返回一個布林值*/
    public static void main(String[] args) {
        /*Predicate<String> predicate = new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return false;
            }
        };*/
        //lambda表示式
        Predicate<String> predicate=(Str)->{return Str.isEmpty();};
        System.out.println(predicate.test(""));
    }
}

Consumer 消費型介面 只有輸入沒有返回值

public class ConsumerTest {
    public static void main(String[] args) {
        /*new Consumer<String>() {
            @Override
            public void accept(String o) {
                System.out.println(o);
            }
        }.accept("asasas");*/

        //lambda方式
        Consumer<String> consumer=(str)->{
            System.out.println(str);
        };
        consumer.accept("zzz");
    }
}

Supplier 供給型介面 只有返回值沒有輸入

public class SupplierTest {
    public static void main(String[] args) {
       /* System.out.println(new Supplier<String>() {
            @Override
            public String get() {
                return "xxx";
            }
        }.get());*/

        //lambda方式
        Supplier<String> supplier=()->{return "1024";};
        System.out.println(supplier.get());
    }
}