JavaSE 进阶 steam流,异常处理,日志

2023-09-03  本文已影响0人  扶光_

steam流

在java8中,得益于lambda所带来的的函数式编程,用于简化集合和数组操作的API
如创建一个集合,并存储多个字符串,并将‘张’开头的存储到新集合

List <String> list = new ArrayList<>();
Collections.addAll(list,'张三丰,'张三'');
List<String> zhang = new ArrayList<>();
list.stream().filter(data->data.startWith('张')).forEach(s->System.out.print(s))//支持链式编程
Collection<String> list = new ArrayList<>();
Stream <String> s = list.stream();

Map <String,Integer> maps = new HashMap<>();
//键流
Stream <String> s = maps.keySet().stream();
//值流
Stream <String> s = maps.value().stream();
//键值对流
Stream <Map.Entry<String,Integer>> s =  maps.entrySet().stream();
String[] arr = {'撒','ad','大大'};
Stream <String> s =Array.stream(arr);

收集stream

就是把stream流操作后的结果数据转回到集合或数组中去.
stream流:方便操作集合/数组的手段
集合/数组才是开发中的目的
List <String> s = s1.collect(Collectors.toList ());

流只能使用一次

异常

是程序编译或执行的过程中可能出现的问题,如数组越界异常,空指针异常....

异常一旦出现如果没有提前处理,程序就会退出jvm虚拟机而终止


image.png

编译时异常的处理形式 3种

1 throws:用在方法上,可以将方法内部出现的异常抛出去给本方法的调用者处理。(并不好,最终抛给虚拟机会死亡)
方法 throws Exception{}

2 try catch
监视捕获异常,用在方法内部,可以将方法内部出现的异常直接捕获处理
(发生异常的方法自己独立完成处理的异常,程序可以继续往下执行)
try{
}catch(Exception e){
e.printStackTrace();
}
3 前1和2结合(最好的)底层抛出最外层,最外层集中捕获处理
方法直接将异常通过throws抛出去给调用者
调用者收到异常后直接捕获处理(try catch )
运行时异常的处理机制
建议放在最外层调用集中捕获处理
自定义异常

throws是用在方法声明上,抛出方法内部异常
throw 方法内部之间创建异常对象并从此处抛出

上一篇 下一篇

猜你喜欢

热点阅读