专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

你不知道的常用工具类

1. 空值判断

1、 空字符串判断

boolean isEmpty =  StringUtils.isEmpty(str);

1、 空集合判断

boolean isEmpty  = CollectionUtils.isNotEmpty(list);

1、 对象判空,在某些其它的工具类中 StringUtils既可以对字符串判空,也可以对对象进行判空

  • org.apache.commons.lang3
StringUtils.isEmpty(CharSequence cs);

public static boolean isEmpty(CharSequence cs){
    return cs == null || cs.length() ==0
}

  • org.springframework.util参数类型是Object的
public static boolean isEmpty(Object obj){
    return obj == null || "".equals(obj);
}

1、 字符串转集合

   // str = "2,5,8,7";
   String str = "2,5,8,7";
   List<Integer> idList = StringUtil.stringToList(str,",");

2.stream流操作相关的工具

1、 集合去重过滤

List<User> userList = userService.getList();
//去掉某个字段为空的数据 
userList = userList.stream().filter(s =>StringUtils.isEmpty(s.getPhone()).collect(Collectors.toList());

1、 遍历操作


userList = userList.stream().map(user -> user.getName()); userList = userList.stream().map(user -> user.getName()).forEach(str -> {System.out.println(str)}) //提取所有的id List<Integer> ids = userList.stream().map(User::getId()).collect(Collectors.toList());

1、 排序操作

//根据id进行排序
userList = userList.stream().sorted(User::getId()).collect(Collectors.toList());
//根据其它排序 
userList = userList.stream().sorted((In1,In2) -> In1- In2).collect(Collectors.toList());

1、 判断操作

//判断是否有名字为jack的 
boolean isExsit = userList.stream().anyMacth(s ->"jack".equals(s.getName()));
//判断某个字段是否全为空 
boolean isEmpty = userList.stream().nonoMatch(s -> s.getEmail().isEmpty());

1、 对象集合分组去重

Map<Integer, List<PurchaseUpdate>> maps = updates.stream().collect(Collectors.groupingBy(PurchaseUpdate::getWriteId, Collectors.toList()));
maps.forEach((k,v) ->{
    v.forEach(update ->{
        vo.setId(update.getId());
        vo.setNumber(update.getCount());
        purchaseService.update(vo);

        build.append("xxxxx---------xxxxxx");
    })

});

1、 对象集合抽取某个元素组成新的数据或者按照符号拼接

 String currentIds = list.stream().map(p ->p.getCurrentUser() == null ? null : p.getCurrentUser().toString()).collect(Collectors.joining(","));
 List<Integer> ids = list.stream().map(User::getId).collect(Collectors.toList());

3.OkHttp3 请求, http请求

一个新的http客户端,使用简单,性能极好,可以完美代替HttpClient

//get 请求 

OkHttpClient client = new OkHttpClient();

String run (String url) {
    Request request = new Request.Builder()
        .url(url)
        .build();

    try {
        Response res = client.newCall(request).execute();
        return res.body().string();
    } catch (Exception e){
        return e;
    }
}

//Post请求 
public static final MediaType JSON  = MediaType.get("application/json;charset=utf-8");
String run (String url ,String json) {
    RequestBody body = RequestBody.create(json,JSON);
    Request request = new Request.Builder()
        .url(url)
        .body(body)
        .build();
    try {
        Response res = client.newCall(request).execute();
        return res.body().string();
    }
}

4. 集合转符号分割的字符串

List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
String result = Joiner.on("-").join(list);

> 1-2-3

文章永久链接:https://tech.souyunku.com/40838

未经允许不得转载:搜云库技术团队 » 你不知道的常用工具类

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们