Arrays.stream().boxed()的使用

一、Arrays.stream()的使用

使用:

1、获取需要转换的数组

2、使用Arrays.stream()将数组转换为流,且数组作为参数传递

3、返回流

例:将字符串转化为Stream,再转为List

public void test(){

    String ids="1,2,3,4,5,6,7";
    
    /**将字符串转成数组,ids为逗号分隔**/
    int[] ints = StrUtil.splitToInt(ids,",");
    
    /**将longs转化为stream,通过boxed()转化为Long类型的流,再使用collect(Collectors.toList())转化为List类型**/
    List<Integer> idParam= Arrays.stream(longs).boxed().collect(Collectors.toList());
    
    System.out.println(idParam);
}

二、boxed()的使用

将基本类型的stream转成了包装(boxed)类型的Stream,如将int类型的流转化为Integer类型的流。

@Override
public final Stream<Integer> boxed() {
    return mapToObj(Integer::valueOf);
}

  • IntStream是int类型的流。Stream<Integer>是Integer类型的流。
  • IntStream存的是int类型的stream,而Stream<Integer>是一个存了Integer的stream。
    boxed的作用就是将int类型的stream转成了Integer类型的Stream
List<Integer> numbers = Arrays.asList(1, 2, 3, 3, 4, 5);
IntStream intStream = numbers.stream().mapToInt(i -> i);  //转成IntStream
Stream<Integer> boxed = intStream.boxed();                //转成Stream<Integer>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值