publicstaticvoidmain(String[] args){operatorString("杨玉环", s ->System.out.println(newStringBuilder(s).reverse()));System.out.println("-----------");operatorString("王昭君", s ->System.out.println(newStringBuilder(s).reverse()), s ->System.out.println(s));}//定义一个方法消费字符串,用不同的方式消费同一个字符串两次privatestaticvoidoperatorString(String s,Consumer<String> c1,Consumer<String> c2){// c1.accept(s);// c2.accept(s);c1.andThen(c2).accept(s);}//定义一个方法消费字符串privatestaticvoidoperatorString(String s,Consumer<String> c){c.accept(s);}
4、Function接口
Function<T,R>接口有两个常用方法:
(1) R apply(Function<T,R>) 将此函数应用于给定的参数
(2)default <V> Function<T,V> andThen(Function<? super R,? extends V> after)
返回首先将此函数应用于其输入的 after函数,然后将 after函数应用于结果。Function<T,R>接口常用于对参数进行操作转换,然后返回一个新的值。
publicstaticvoidmain(String[] args){convert("1000", s ->Integer.parseInt(s));convert(100, s1 ->String.valueOf(s1));convert("200", s ->Integer.parseInt(s), s2->String.valueOf(s2+100));}//定义一个方法把字符串类型转换成int类型并输出privatestaticvoidconvert(String s,Function<String,Integer> f){Integer i = f.apply(s);System.out.println(i);}//定义一个方法,把一个int类型的数加上一个整数后转换成字符串后输出privatestaticvoidconvert(Integer i,Function<Integer,String> f){int result = i +100;String s = f.apply(result);System.out.println(s);}//定义一个方法把一个字符串转换成int类型,把int加上一个整数后,转换成字符串privatestaticvoidconvert(String s,Function<String,Integer> f1,Function<Integer,String> f2){String apply = f1.andThen(f2).apply(s);System.out.println(apply);}
一、Stream流的生成方式
1、collection集合可以用默认方法stream生成流。
如 ArrayList<String> list new ArrayList<String>();list.stream().forEach();
2、Map集合间接生成
3、数组通过Stream接口的静态方法of(T... values)生成流。二、Stream流的中间操作方法…
今天写程序时候,服务器端启动了,然后客户端总是连接不上,connect返回错误号是10061,服务器积极拒绝请求。 用telnet连接一下端口,发现服务端服务没有开启,但是我程序是启动的,用netstat -a 命令…