今天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. 人生之清单(list of life)

    人生要走走停停,想想记记,修修改改,再向前走.国家工程,公平正义,一腔热血,都很容易燃起来,热血起来. 1. 没得选,有得选,怎么办 没得选 原生家庭,自己怎么生,怎样的父母: 遇见谁,会有怎样的对白 ...

  2. List methods

    Python provides methods that operate on lists. For example, append adds a new element to the end of ...

  3. laravel中的数据迁移和数据填充

    laravel中的数据迁移和数据填充 标签(空格分隔): php 生成迁移文件两种方式: 1 新建一个表的迁移文件 php artisan make:migration create_students ...

  4. PostgreSQL数据库常用脚本-初始化、备份、恢复推荐脚本

    公司最近开始逐步推广使用PostgreSQL,为方便开发人员和实施人员操作,特整理数据库初始化.备份.恢复的推荐脚本如下: 1. 连接数据库 psql -h 127.0.0.1 -p 1921 -U ...

  5. 最简单的DES加密算法实现

    Base64.java package com.mstf.des; import java.io.UnsupportedEncodingException; /** * base64编码/解码 * @ ...

  6. bzoj 2287: 【POJ Challenge】消失之物 动态规划

    Code: #include<cstdio> #include<algorithm> #include<queue> #include<cstring> ...

  7. Element UI的Table用法

    Table 表格 用于展示多条结构类似的数据,可对数据进行排序.筛选.对比或其他自定义操作. ¶基础表格 基 2016-05-02 王小虎 上海市普陀区金沙江路 1518 弄 2016-05-04 王 ...

  8. golang实现php里的serialize()和unserialize()序列和反序列方法

    Golang 实现 PHP里的 serialize() . unserialize() 安装 go get -u github.com/techleeone/gophp/serialize 用法 pa ...

  9. ArcGIS api for javascript——查找任务-没有地图查找要素

    描述 本例展示了如何使用查找任务搜索数据里的记录,然后在HTML表格中显示结果. 尽管FindTask不需要显示一个地图,但是构造函数需要一个ArcGIS Server地图服务的URL. 本例使用ES ...

  10. cocoapods的安装,使用,卸载,以及你可能会遇到的坑..

    首先, 不会用cocoapods的话如过你接手某些新项目是用cocoapods写的你会疯, 其次他真的非常好用, 当然某些坑也是存在的,比方你用它导入了AFNetwork然后你须要改动一些AF的内部的 ...