Java代码整理(待补充)

不定时更新Java代码。

StreamUtils

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.itjing.utils;

import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.stream.Collectors;

/**
* List分页工具类
*
* @author lijing
* @date 2023-05-27
*/
@Component
public class StreamUtils<T> {

/**
* stream内存分页公用方法(返回传入的List)
*
* @param t T
* @param pageNum 当前页
* @param pageSize 每页总条数
* @return List<T>
**/
public List<T> pageSkipLimit(List<T> t, Integer pageNum, Integer pageSize) {
return t.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
}

/**
* 获取分页后的pageInfo(设置了vos,总条数)
*
* @param finalVos 需要分页的vos
* @param pageNum 当前页
* @param pageSize 每页条数
* @see com.github.pagehelper.PageInfo
*/
public PageInfo<T> getPageInfo(List<T> finalVos, Integer pageNum, Integer pageSize) {
PageInfo<T> pageInfo = new PageInfo<>();
pageInfo.setTotal(finalVos.size());
// 手动分页:finalVos
List<T> pageVos = this.pageSkipLimit(finalVos, pageNum, pageSize);
pageInfo.setList(pageVos);
return pageInfo;
}

}

逗号分隔的字符串和List互转

将逗号分隔的字符串转换为List

1
2
3
4
5
6
7
8
9
// 字符型
String str = "a,b,c";
List<String> strList = Arrays.asList(str.split(","));
System.out.println(strList); // [a, b, c]

// 数字型
String ids = "1,2,3,4,5,6";
List<Long> idList = Arrays.stream(ids.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());
System.out.println(Arrays.toString(idList.toArray())); // [1, 2, 3, 4, 5, 6]

将List转换为逗号分隔的字符串

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
List<Integer> numList = Lists.newArrayList(1, 2, 3, 4, 5, 6);
String numStr = Joiner.on(",").join(numList);
System.out.println(numStr); // 1,2,3,4,5,6

// 1、利用Guava的Joiner
List<String> list = Lists.newArrayList("a", "b", "c");
String str1 = Joiner.on(",").join(list);
System.out.println(str1); // a,b,c

// 2、利用Apache Commons的StringUtils
String str2 = org.apache.commons.lang3.StringUtils.join(list.toArray(), ",");
System.out.println(str2); // a,b,c

// 3、java8
String str3 = list.stream().collect(Collectors.joining(","));
System.out.println(str3); // a,b,c

// 4、原生
String str4 = String.join(",", list);
System.out.println(str4); // a,b,c

将List对象转换为逗号分隔的字符串

1
String names = this.list.stream().map(User::getName).collect(Collectors.joining(",")); // a,b,c

1
2
3
StringJoiner sj = new StringJoiner(",", "[", "]");
this.list.forEach(item -> sj.add(item.getName()));
System.out.println(sj); // [a,b,c]

本文标题:Java代码整理(待补充)

文章作者:LiJing

发布时间:2023年05月27日 - 09:10:16

最后更新:2023年11月25日 - 14:35:37

原始链接:https://blog-next.xiaojingge.com/posts/1330107003.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------------本文结束 感谢您的阅读-------------------