今天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类型的数组转化为逗号间隔字符串形式的更多相关文章

  1. 再谈:jquery编写插件的方法

    版权声明:作者原创,转载请注明出处! 编写插件的两种方式: 1.类级别开发插件(1%) 2.对象级别开发(99%) 类级别的静态开发就是给jquery添加静态方法,三种方式 1.添加新的全局函数 2. ...

  2. 【转】 Pro Android学习笔记(四三):Fragment(8):再谈Transaction和管理器

    目录(?)[-] Transaction的一些操作 再谈FragmentManager 调用其他fragment的方法 唤起activity 唤起fragment和相互通信 一些其它 Transact ...

  3. 再谈Jquery Ajax方法传递到action 【转载】

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://cnn237111.blog.51cto.com/2359144/984466 之 ...

  4. 再谈Jquery Ajax方法传递到action

     原始出处 :http://cnn237111.blog.51cto.com/2359144/984466  本人只是转载 原文如下: 假设 controller中的方法是如下: public Act ...

  5. 再谈Jquery Ajax方法传递到action(转)

    之前写过一篇文章Jquery Ajax方法传值到action,本文是对该文的补充. 假设 controller中的方法是如下: public ActionResult ReadPerson(Perso ...

  6. Java再谈方法

    1.3再谈方法 1.3.1 什么是方法(函数) ①方法是类或对象行为特征的抽象,也称为函数. ②Java里的方法不能独立存在,所有的方法必须定义在类里. 修饰符 返回值类型 方法名(参数类型 形参1, ...

  7. 再谈扩展方法,从string.IsNullOrEmpty()说起

    string.IsNullOrEmpty()这个方法算得上是.net中使用频率最高的方法之一.此方法是string的一个静态方法,类似的静态方法在string这个类中还有很多.那么这样的方法作为静态方 ...

  8. Unity教程之再谈Unity中的优化技术

    这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体   这一步主要是为了针对性能瓶颈中的”顶点 ...

  9. 浅谈HTTP中Get与Post的区别/HTTP协议与HTML表单(再谈GET与POST的区别)

    HTTP协议与HTML表单(再谈GET与POST的区别) GET方式在request-line中传送数据:POST方式在request-line及request-body中均可以传送数据. http: ...

随机推荐

  1. React ----- 路由懒加载的几种实现方案

    传统的两种方式 1.import() 符合ECMAScript提议的import()语法,该提案与普通 import 语句或 require 函数的类似,但返回一个 Promise 对象.这意味着模块 ...

  2. Windows 绝赞应用(该网站收集了日常好用的工具和软件)

    在我们的电脑使用过程中,或多或少的被流氓软件恶心过.流氓软件之所以这么流氓全是靠他那恐怖的用户数量,基本上形成垄断后,各种流氓行为就一点点体现出来了. 我们也可以选择不用,但对流氓软件来说多你一个不多 ...

  3. H5操作WebSQL数据库

    HTML代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="U ...

  4. windows如何批量添加路由表

    我大约有2000条路由,需要批量导入,如何才能快速导入,快速删除呢.如果直接用命令添加路由表的话感觉很慢. windows如何批量添加路由表 >> csharp这个答案描述的挺清楚的:ht ...

  5. Java中将String转json对象

    import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple. ...

  6. [NOIP2014提高组]寻找道路

    题目:洛谷P2296.Vijos P1909.codevs3731.UOJ#19. 题目大意:给你一张有向图,边权为1,让你找一条s到t的最短路径,但这条路径上所有点的出边所指向的点都与终点连通.如果 ...

  7. ubuntu 同时安装anaconda2和anaconda3

    说明:先根据Ubuntu预装的python2.7来安装Anaconda2,然后将Anaconda3作为其环境安装在envs文件夹下. 重要提示:有一些软件需要py2.7的环境,比如XX-Net, 最好 ...

  8. Xshell6连接Ubuntu18.04

    1.首先在自己windows10电脑上安装了xshell6,安装过程不叙述了 2.打开xshell 3.执行新建命令.打开Xshell软件后找到左上角第一个“文件”菜单并单击,弹出来一个下拉框,点击选 ...

  9. Lenovo k860i 移植Android 4.4 cm11进度记录【下篇--实时更新中】

    2014.8.24 k860i的cm11的移植在中断了近两三个月之后又开始继续了,进度记录的日志上一篇已经没什么写的了,就完结掉它吧,重新开一篇日志做下篇好了.最近的战况是,在scue同学的努力之下, ...

  10. conda常用命令,如何在conda环境中安装gym库?

    查看已安装的环境: conda info -e 或 conda env list 创建新环境gymlab: conda create -n gymlab python=3.5 激活环境gymlab: ...