Java 集合快速转换
StringUtils用的Spring-Core内的工具类
1.集合转换到逗号的字符串
StringUtils.collectionToCommaDelimitedString(Collection<?> coll)
2.集合转换指定分隔符的字符串
StringUtils.collectionToDelimitedString(Collection<?> coll, String delim)
3.array数组快速转换为list集合
Arrays.asList(new String[]{"123", "456"});
4.list集合快速转换为set集合 Lists.newArrayList()需要用google的guava工具包 等同于 new ArrayList()
Set<Object> sourcesSet = new LinkedHashSet<Object>();
sources.addAll(Lists.newArrayList());
//sources.addAll(Arrays.asList(new String[]{"123", "456"}));
//或者
Set<Object> sourcesSet = new LinkedHashSet<Object>(Lists.newArrayList());
4.1 set集合转换为list集合 **** 主要用于list去重再转list操作
List<Object> list1 = new LinkedList<>(new LinkedHashSet<>(list));
5.list集合快速转换为数组
list.toArray(new String[0]); //限制List的泛型必须是单一对象
6.带逗号的字符串转换为数组
String[] idsArray = ids.split(",");
7.数组转换为自定义符号的字符串
StringUtils.arrayToDelimitedString(Object[] arr, String delim);
8.数组转换为带逗号的字符串
StringUtils.arrayToDelimitedString(Object[] arr);
9.数组转换为带符号的字符串(Guava) delim为自定义符号
Joiner.on(delim).join(new String[]{"a", "b", "c"});
10.String不定参数转换为带符号的字符串(Guava) delim为自定义符号
Joiner.on(delim).join("a", "b", "c");
11.Iterable集合转换为带符号的字符串(Guava) delim为自定义符号
Joiner.on(delim).join(Arrays.asList(numberArray).iterator());
11.带符号的字符串转换为Iterable集合(Guava) delim为自定义符号
Splitter.on(delim).split(ids);
12.带符号的字符串转换为array数组(common-lang3) StringUtils为lang3包内工具类 非Spring工具类
StringUtils.split(numberList, delim);
13.不定参数转换为list集合
Arrays.asList("a", "b", "c");
14.字符串转换逗号分割的数组
StringUtils.commaDelimitedListToStringArray(String str);
15.字符串转换指定符号分割的数组
StringUtils.commaDelimitedListToStringArray(String str, String delim);
16.字符串转换Set集合
StringUtils.commaDelimitedListToSet(String str);
17.集合转换指定字符串
StringUtils.collectionToDelimitedString(Collection collection, String delim);
18.集合转换指定字符串,可拼接前缀和后缀
StringUtils.collectionToDelimitedString(Collection collection, String delim, String prefix, String suffix);
跳过null值
Joiner.on(separator).skipNulls().join(parts);
替换null值
Joiner.on(separator).useForNull(nullText).join(parts);
去掉length=0的值
Splitter.on(separator).omitEmptyStrings().split(sequence);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构