使用Lambda表示式處理簡單的業務
定義
函式式介面
一種只含有一個抽象方法宣告的介面
可以使用匿名內部類來例項化函式式介面的物件
通過Lambda表示式可以進一步簡化程式碼
語法
(paramenters) -> expression
(paramenters) -> {statements;}
步驟:
1.新建一個介面
2.新建一個Java類,繼承建立的介面,並根據業務需求定義資料型別
3.建立Java測試類,進行功能實現
例項:
1.根據學歷和年齡來確定工資
1)新建OperationInterface介面
public interface OperationInterface {
public Integer salary (String a,Integer b);
}
2)新建OperationInterfaceImpl類,定義學歷String型別,年齡Integer型別
public class OperationInterfaceImpl implements OperationInterface{
@Override
public Integer salary(String a, Integer b) {
return null;
}
}
3)新建TestSalary類
public class TestSalary {
public static void main(String[] args) {
OperationInterface sal = (String a,Integer b) -> {
if (a.equals("初中")&& b == 20) {
return 2000;
} else if (a.equals("高中")&& b == 20) {
return 2200;
} else if (a.equals("大專")&& b == 21) {
return 3000;
} else if (a.equals("本科")&& b == 22) {
return 3300;
} else {
return 0;
}
};
System.out.println(sal.salary("本科",22));
}
}
執行結果如下
2.判斷字串是否包含字元a、字元b,是則分別返回1和0,否則,返回0
1)建立Operation介面
public interface Operation {
public Integer operation(String a);
}
2)建立OperationIml類,繼承Operation介面
public class OperationIml implements Operation{
@Override
public Integer operation(String a) {
return null;
}
}
3)建立TestChar測試類
public class TestChar {
public static void main(String[] args) {
Operation opp = (String a) -> {
if (a.contains("a")) {
return 1;
} else if (a.contains("b")) {
return 0;
} else {
return -1;
}
};
System.out.println(opp.operation("abdfe"));
}
}
測試結果如下
3.用lambda表示式進行兩個數之間的四則運算
1)建立OperationInterface介面
public interface OperationInterface {
public Integer operation(Integer a,Integer b);
}
2)建立OperationInterfaceImpl類,繼承OperationInterface介面
public class OperationInterfaceImpl implements OperationInterface{
@Override
public Integer operation(Integer a, Integer b) {
return a+b;
}
}
3)建立TestDemo測試類
public class TestDemo {
public static void main(String[] args) {
OperationInterface add = (Integer a,Integer b) -> a+b;
OperationInterface jian = (Integer a,Integer b) -> a-b;
OperationInterface ji = (Integer a,Integer b) -> a*b;
// Integer sum2 = ji.operation(10,20);
// System.out.println(sum2);
TestDemo demo = new TestDemo();
Integer result = demo.getResult(20, 10, add);
System.out.println(result);
// OperationInterface operationInterface = new OperationInterfaceImpl();
// Integer sum = operationInterface.operation(10,10);
// System.out.println(sum);
}
public Integer getResult(Integer a,Integer b,OperationInterface operationInterface) {
return operationInterface.operation(a,b);
}
測試結果如下
相關文章
- Java8特性詳解 lambda表示式(二):流式處理中的lambdaJava
- Java中Lambda表示式的使用Java
- Java8 Lambda 表示式有何用處?如何使用?Java
- Java lambda表示式基本使用Java
- [轉]Java 8 的 lambda 表示式 Java 8 的 lambda 表示式Java
- 這樣也行,在lambda表示式中優雅的處理checked exceptionException
- lambda 表示式
- lambda表示式
- Java的Lambda表示式Java
- cpp的lambda表示式
- C# Lambda表示式詳解,及Lambda表示式樹的建立C#
- Java 簡潔程式碼利器 —— Lambda 表示式Java
- Java | Lambda表示式Java
- Lambda表示式(Java)Java
- java lambda 表示式Java
- 八,Lambda表示式
- Java Lambda表示式Java
- 使用正規表示式處理金額
- C++ Lambda 表示式使用詳解C++
- Lambda 表示式的應用
- Java 中的 Lambda 表示式Java
- C#中的Lambda表示式和表示式樹C#
- Java中使用lambda表示式自定義排序Java排序
- 淺談lambda表示式
- Lambda表示式詳解
- Java之lambda表示式Java
- kotlin lambda表示式Kotlin
- Python - lambda 表示式Python
- Lambda表示式總結
- Java 8 Lambda 表示式Java
- C++Lambda表示式C++
- java 8 lambda表示式Java
- Java Lambda 表示式初探Java
- Python Lambda 表示式Python
- 【Kotlin】Lambda表示式Kotlin
- C#lambda表示式C#
- JDK1.8之Lambda解析與表示式的使用JDK
- Java8的Lambda表示式Java