标签:OLE 函数 tla oid 表达式 lang 2.4.1 world something
函数式接口是只包含一个抽象方法声明的接口,如java.lang.Runnable
@FunctionalInterface
@FunctionalInterface
public interface WorkerInterface {
public void dosomething();
}
public class WorkInterfaceTest {
public static void excute(WorkerInterface workerInterface) {
workerInterface.dosomething();
}
public static void main(String[] args) {
// 运用同名类实现
excute(new WorkerInterface() {
@Override
public void dosomething() {
System.out.println("hello world");
}
});
// 用lambda表达式实现
excute(() -> System.out.println("hello world"));
}
}
运行结果:
hello world
hello world
为匿名函数,是没有声明的方法,即无访问修饰符、返回值和名称
(type1 arg1, type2 arg2...) -> { body }
如果Lambda表达式的主体包含一条以上语句,则表达式必须包含在花括号{}中(形成代码块)。匿名函数的返回类型与代码块的返回类型一致,若没有返回则为空
```
public class RunnableLambda {
public static void main(String[] args) {
// 1.1使用匿名内部类
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("hello world1");
}
}).start();
// 1.2使用匿名内部类
Runnable r1 = new Runnable() {
@Override
public void run() {
System.out.println("hello world2");
}
};
r1.run();
// 2.1 lambda表达式
new Thread(() -> System.out.println("hello world3")).start();;
// 2.2 lambda表达式
Runnable r2 = ()-> System.out.println("hello world4");
r2.run();
}
}
结果
hello world1
hello world2
hello world3
hello world4
##### 2.4.2 排序数组
* 匿名内部类的排序
public class ArraySortLambda {
public static void main(String[] args) {
String[] players = { "Jack", "Tom", "John", "Andy", "Role"};
// 1.1 使用匿名内部类根据 name 排序 players
Arrays.sort(players, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return (s1.compareTo(s2));
}
});
// java8新特性
Arrays.asList(players).stream().forEach(System.out::println);
}
}
结果
Andy
Jack
John
Role
Tom
* lambda表达式的排序
import java.util.Arrays;
import java.util.Comparator;
public class ArraySortLambda {
public static void main(String[] args) {
String[] players = { "Jack", "Tom", "John", "Andy", "Role"};
// 排序1
Comparator
Arrays.asList(players).stream().forEach(System.out::println);
}
}
```
标签:OLE 函数 tla oid 表达式 lang 2.4.1 world something
原文地址:https://www.cnblogs.com/missj/p/9015674.html