今天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. Win32++:可替代MFC的Windows桌面应用开发框架

    写在前面 有过Win32编程经验的朋友都知道,使用Windows提供的API开发桌面应用是相当繁琐的,创建一个功能简单能接收并处理消息的窗口至少也得几百行代码.创建一个可视化的窗口一般要以下几个步骤: ...

  2. BAPC 2014 Preliminary(第一场)

    D:Lift Problems On the ground floor (floor zero) of a large university building a number of students ...

  3. mac本 maven项目还没发布成功,tomcat就报没有监听ContextLoaderListener 的解决方法

    Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL     严重: Error config ...

  4. Android chromium 2

    Overview JNI (Java Native Interface) is the mechanism that enables Java code to call native function ...

  5. Unix版权史

    原文出处: 阮一峰    这几天,我在读<Unix编程艺术>. 书中介绍了Unix的发展历史.我发现,这是一个很好的例子,说明现行版权制度具有阻碍社会发展的负面作用. 2. Unix诞生于 ...

  6. Delphi的参数修饰const/var/output 与C++的对应关系

    delphi的const/input和默认的没有修饰, C++都是一样的 delphi的var,对应C++那边是指针,  调用方需要管理内存(负责分配内存及销毁) delphi的output , 对应 ...

  7. poj--1637--Sightseeing tour(网络流,最大流判断混合图是否存在欧拉图)

    Sightseeing tour Time Limit: 1000MS   Memory Limit: 10000KB   64bit IO Format: %I64d & %I64u Sub ...

  8. SQL Server 2000数据库备份与恢复图解

    SQL Server 2000数据库备份与恢复图解   四个步骤:1.安装sql server 2000 2.数据库设置: 3.建立自动备份 4.还原数据库  具体图片见附件 本文出自 "李 ...

  9. javascript中 visibility和display的区别

    visibility属性用来确定元素是显示还是隐藏的,这用visibility="visible|hidden"来表示(visible表示显示,hidden表示隐藏). 当visi ...

  10. [Chromium文档转载,第001章] Mojo Migration Guide

        For Developers‎ > ‎Design Documents‎ > ‎Mojo‎ > ‎ Mojo Migration Guide 目录 1 Summary 2 H ...