package com.yy.test;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
List<String> names = Arrays.asList("peter", "anna", "mike", "xenia");
/* Collections.sort(names, new Comparator<String>() {//java以前老版本的写法
@Override
public int compare(String a, String b) {
return b.compareTo(a);
}
});*/
Collections.sort(names, (a,b) -> {
return b.compareTo(a);
});
for(String name:names){
System.out.println(name);
}
int num = 1;
//num = num+1;
Converter<String, Integer> a = (from) -> Integer.valueOf(from);
Integer m=a.convert("123");
System.out.println(m);
Converter<String, Integer> converter = Integer::valueOf;//这个是静态方式导入
Integer n=converter.convert("1231");
System.out.println(n);
Converter<Integer, String> stringConverter = (from) -> String
.valueOf(from + num);
String str = stringConverter.convert(2);
System.out.println(str);// 输出3
List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jkl");
List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
System.out.println(filtered);// 输出3
Integer value1 = null;
Integer value2 = new Integer(10);
// Optional.ofNullable - 允许传递为 null 参数
Optional<Integer> q = Optional.ofNullable(value1);
// Optional.of - 如果传递的参数是 null,抛出异常 NullPointerException
Optional<Integer> b = Optional.of(value2);
System.out.println(sum(q, b));
}
public static Integer sum(Optional<Integer> q, Optional<Integer> b) {
// Optional.isPresent - 判断值是否存在
System.out.println("第一个参数值存在: " + q.isPresent());
System.out.println("第二个参数值存在: " + b.isPresent());
// Optional.orElse - 如果值存在,返回它,否则返回默认值
Integer value1 = q.orElse(new Integer(0));
//Optional.get - 获取值,值需要存在
Integer value2 = b.get();
return value1 + value2;
}
}
Java8综合练习
最新推荐文章于 2022-11-02 14:08:36 发布