再谈如何以最简单的方法将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式
今天review代码,看见某些大爷在将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式时仍然只顾结果不注重过程,“大爷”咱能负点责任吗?
将泛型为String类型的集合转化为逗号间隔字符串形式:
测试类:
package com.ghj.packageofclient;import java.util.ArrayList;
import java.util.List;import com.ghj.packageoftool.StringUtils;public class Test {public static void main(String[] args) {List<String> stringList = new ArrayList<String>();stringList.add("fd422114-0f9f-4f04-bc79-09698121f999");stringList.add("5de14c97-348c-46b6-8519-f246b5f53d3a");stringList.add("b2056a9e-8fba-4119-ab5a-79d3ec0100e0");stringList.add("20254564-796e-43d5-bcd2-9fe157f2b18c");stringList.add("sa31b130-9064-42d9-be2c-321773b2b2b5");System.out.println(StringUtils.stringListToString(stringList));}
}
第一种方式:
package com.ghj.packageoftool;import java.util.List;public class StringUtils {/*** 将泛型为String类型的集合转化为逗号间隔字符串形式* * @author 高焕杰*/public static String stringListToString(List<String> stringList){if (stringList == null || stringList.size() <= 0) {return null;}String result = "";for (String string:stringList) {result += string + ",";}return result.substring(0, result.lastIndexOf(","));}
}
总结:这种方法一看就是脑残的人写出来的——大哥, String、StringBuffer和StringBuilder之间的区别你忘了吗?
第二种方式:
package com.ghj.packageoftool;import java.util.List;public class StringUtils {/*** 将泛型为String类型的集合转化为逗号间隔字符串形式* * @author 高焕杰*/public static String stringListToString(List<String> stringList){if (stringList == null || stringList.size() <= 0) {return null;}StringBuffer stringBuffer = new StringBuffer();for (String string:stringList) {stringBuffer.append(string + ",");}return stringBuffer.toString().substring(0, stringBuffer.toString().lastIndexOf(","));}
}
总结:这种方法是大家常用的,可是这是最简单的方法吗——看第三种方式
第三种方式:
package com.ghj.packageoftool;import java.util.List;public class StringUtils {/*** 将泛型为String类型的集合转化为逗号间隔字符串形式* * @author 高焕杰*/public static String stringListToString(List<String> stringList){if (stringList == null || stringList.size() <= 0) {return null;}return stringList.toString().replaceAll("^\\[| |\\]$", "");}
}
总结:哥啊,这才是最简单的方式啊!!!
将String类型的数组转化为逗号间隔字符串形式:
测试类:
package com.ghj.packageofclient;import com.ghj.packageoftool.StringUtils;public class Test {public static void main(String[] args) {String [] stringArray = new String[]{"fd422114-0f9f-4f04-bc79-09698121f999","5de14c97-348c-46b6-8519-f246b5f53d3a","b2056a9e-8fba-4119-ab5a-79d3ec0100e0","20254564-796e-43d5-bcd2-9fe157f2b18c","sa31b130-9064-42d9-be2c-321773b2b2b5"};System.out.println(StringUtils.stringArrayToString(stringArray));}
}
上面给出了将泛型为String类型的集合转化为逗号间隔字符串形式的最简单方法,所以这里就直接给出了将String类型的数组转化为逗号间隔字符串形式的最简单方法:
package com.ghj.packageoftool;import java.util.Arrays;public class StringUtils {/*** 将String类型的数组转化为逗号间隔字符串形式* * @author 高焕杰*/public static String stringArrayToString(String [] stringArray){if (stringArray == null || stringArray.length <= 0) {return null;}return Arrays.toString(stringArray).replaceAll("^\\[| |\\]$", "");}
}
再谈如何以最简单的方法将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式相关推荐
- 再谈华罗庚先生的《统筹方法》
华罗庚先生是中国最有成就的数学家之一,我在学生时代曾经学习一篇他写的文章<统筹方法>,也许是对我一生影响最深的几篇文章之一.他用非常简单.通俗易懂的文字,为我们讲述了统筹方法,如若在人们日 ...
- 再谈Windows Service - 一个简单的自我例子和部署
我们的服务需要做两件自动的事情,一个是往表格中定时插入数据,另一个就是 往文件中定时插入内容 因此,我们需要做一个工作类,这个类可以是一个抽象类,如下: TaskWorker using System ...
- 拉普拉斯算子属于卷积方法吗_2020 年 GNN 开卷有益与再谈图卷积
题记 2019 年,GNN 从来没有这样繁荣过.一方面,计算机视觉.自然语言处理等领域都忽如一夜春风来,反复"发现"了自身潜在的 Graph 结构,与 GNN 融合.另一方面,GN ...
- 再谈Jquery Ajax方法传递到action
之前写过一篇文章Jquery Ajax方法传值到action,本文是对该文的补充. 假设 controller中的方法是如下: public ActionResult ReadPerson(Perso ...
- 再谈目前QQ空间主流的赚钱方法
重点导读 同样是腾讯旗下的产品,QQ空间和微信,这两个在今年都得到了重视,各种微信营销培训和QQ空间流量培训,满天飞,让很多新手朋友眼花缭乱.在这里我就说下,用QQ空间来获取人民币.因为QQ空间流量 ...
- java ajax传递到action_再谈Jquery Ajax方法传递到action(转)
假设 controller中的方法是如下: public ActionResult ReadPerson(PersonModel model) { string s = model.ToString( ...
- 再谈HTTP2性能提升之背后原理—HTTP2历史解剖
即使千辛万苦,还是把网站升级到http2了,遇坑如<phpcms v9站http升级到https加http2遇到到坑>. 因为理论相比于 HTTP 1.x ,在同时兼容 HTTP/1.1 ...
- 再谈工作的主动性和有效提问
主动性是一个非常奇怪的词,每个人对这个词的理解都不一样.可能一个管理者对员工说,你要提高主动性,但是员工会非常苦恼,甚至崩溃:我都天天加班了,你居然还在谈提高主动性? 结合很多应届生在实际工作中遇到的 ...
- 再谈符号间干扰(一)
在对话通信原理系列相关博文中,有这么一篇博文:通信系统之信道,这篇博文里面已经讲过符号间干扰(ISI),发生符号间干扰的原因在于信号带宽大于相干带宽,同一个意思的表达为:发送符号的周期小于最大时延扩展 ...
- 我的WCF之旅 (11): 再谈WCF的双向通讯-基于Http的双向通讯 V.S. 基于TCP的双向通讯...
在一个基于面向服务的分布式环境中,借助一个标准的.平台无关的Communication Infrastructure,各个Service通过SOAP Message实现相互之间的交互.这个交互的过程实 ...
最新文章
- Oracle 变量绑定与变量窥视合集系列二
- spring:如何用代码动态向容器中添加或移除Bean ?
- 如何在阅读参考文献时,有效率的做笔记?
- android开发 Gradle多渠道打包以及集成360加固
- IBM 公开最新 Power 处理器架构
- matlab二维度矩阵转化三维_Matlab三维矩阵运算
- html5-6 Frame框架窗口类型
- Python 数据科学入门
- 第一百四十一节,JavaScript,封装库--DOM加载
- 【重难点】【分布式 01】RESTful、RPC 对比、Dubbo、Spring Cloud 对比、Eureka、Zookeeper、Consul、Nacos 对比、分布式锁
- mvc 前段定义变量_3分钟短文 | Laravel blade模板里优雅地定义PHP变量
- 我们为何总是掉进“杀熟”的圈套?
- Linux——常用命令
- 深度学习之学习(3-4)YOLOV4
- open_table和opened_table的区别
- 学习总结7.1 Linux Rsh服务器
- 2011考研数学二第(6)题——积分大小关系比较
- 【20230407】NVIDIA显卡算力、Jetson比较
- golang emoji表情处理
- Mob第三方登录快速集成开发