java工作中好用的方法

java工作中好用的方法

1.copyProperties() 复制对象参数的方法,当两个对象中的参数有一部分是一致的时候,用这个方法,不需要一个一个get,set参数了。
BeanUtils.copyProperties(传值对象,被传值对象);(这个不会自动转换类型,但是效率高)
PropertyUtils.copyProperties(传值对象,被传值对象);(这个方法会自动类型转换)

BeanUtils.copyProperties(传值对象,被传值对象)
PropertyUtils.copyProperties(传值对象,被传值对象);

2.contains()这个方法是验证两个字符串是否具有包含关系。

String a = "你好";
String b = "你好旧时光"; 
System.out.println(b.contains(a));//输出结果为true

contains的底层调用了indexof方法。

String a = "你好";
String b = "你好旧时光"; 
System.out.println(b.indexof(a));//输出结果为0

indexof返回int类型,如果有对应的字符串,返回的是第一个字符对应着的下标。如果没有返回的是-1。
contains()方法对indexof底层做了判断

if(b.indexof(a)>-1)
	return true;
	else
	return false;

3.stream流
(1).使用Stream流对集合按照某一规则排序

//这里是按照number正序(从小到大)
List<T> resultList= list.stream.sorted(Comparator.comparing(Waring::number)).collect(Collectors.toList());
//这里是按照number倒序(从大到小)
List<T> resultList= list.stream.sorted(Comparator.comparing(Waring::number).reversed()).collect(Collectors.toList());

(2).使用stream获得集合中的某一列
List resultList= list.stream.map(m->m.getId()).collect(Collectors.toList());
为了防止空指针异常可以加一层过滤
List resultList= list.stream.filter(f->ObjectUtils.isNotEmpty(f.getId())).map(m->m.getId()).collect(Collectors.toList());
(3).使用stream对集合的某一列进行计算

DoubleSummaryStatistics scoreStatic = userList.stream().filter(item -> !ObjectUtils.isEmpty(item.getScore())).mapToDouble(item -> item.getScore().doubleValue()).summaryStatistics();

如果是其他数据格式这里也提供选择
在这里插入图片描述
DoubleSummaryStatistics 有五种方法,可以求和,求平均数,总数量,最大值,最小值。
在这里插入图片描述
如果是BigDecimal数据格式,可以使用一下的方式

BigDecimal streamSum = userList.stream().filter(item -> !ObjectUtils.isEmpty(item.getScore())).map(item -> item.getScore()).reduce(BigDecimal::add).get();

4.集合反转 Collections.reverse(list)(不需要接收)
5.获取集合指定下标的数据list.subList(formIndex,toIndex)
6.判空ObjectUtils.isEmpty();
7.list.addAll(),这个方法可快速将一个集合的数据添加到另外一个集合中,list和set可以互用,但是要注意set集合会去重。如果想从多个list中去重的话,可以将多个list的数据放到一个set中。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值