接口中的默认方法和静态方法
- 接口中可以定义具体方法,但必须“default”修饰
- 接口中可以定义静态方法(系统自动以public 修饰)
- 接口中定义变量(是静态变量,系统自动以public static final修饰)
- 接口和类中方法冲突时,适用“父类优先原则”
package com.test;
public interface TestInterface {
// public static void eat(){
static void eat(){
}
// public static final double PI = 3.14;
double PI = 3.14;
default void say(){
System.out.println("hello world");
}
}
函数式接口和Lambda表达式
package com.test;
import java.util.ArrayList;
import java.util.List;
public class App2 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.forEach(ele -> System.out.println(ele));
list.forEach(System.out::println);
}
}
Stream API
- 组数操作
package com.test; import java.util.Arrays; public class App3 { public static void main(String[] args) { String[] strArr = {"hello","world","hadoop","spark","yarn","storm"}; long count = Arrays.stream(strArr).filter(ele -> ele.length() == 5).count(); System.out.println(count); } } - 集合操作
package com.test;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class App3 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
List<Integer> newList = list.stream().map(ele -> ele * ele).collect(Collectors.toList());
newList.forEach(ele -> System.out.println(ele));
}
}
- 并行操作
package com.test;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class App3 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
List<Integer> newList = list.parallelStream().map(ele -> ele * ele).collect(Collectors.toList());
newList.forEach(ele -> System.out.println(ele));
}
}
日期操作
https://blog.youkuaiyun.com/qq_27093465/article/details/78909797
本文介绍了Java8的四大核心新特性:接口中的默认方法和静态方法,允许接口定义具体方法;函数式接口与Lambda表达式的结合,简化代码;强大的Stream API,提供集合操作、并行操作等功能;以及改进的日期操作,提供了更友好的日期时间API。
1665

被折叠的 条评论
为什么被折叠?



