威馬創始人沈暉談智慧純電汽車:用了就回不去了
阿新 • • 發佈:2021-12-22
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());
}
}