再谈如何以最简单的方法将泛型为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("^\\[| |\\]$", "");
	}
}
时间: 2024-08-03 14:45:04

再谈如何以最简单的方法将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式的相关文章

再谈怎样以最简单的方法将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式

今天review代码,看见某些大爷在将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式时仍然仅仅顾结果不注重过程,"大爷"咱能负点责任吗? 将泛型为String类型的集合转化为逗号间隔字符串形式: 測试类: package com.ghj.packageofclient; import java.util.ArrayList; import java.util.List; import com.ghj.packageoftool.StringUtils; p

再谈:jquery编写插件的方法

版权声明:作者原创,转载请注明出处! 编写插件的两种方式: 1.类级别开发插件(1%) 2.对象级别开发(99%) 类级别的静态开发就是给jquery添加静态方法,三种方式 1.添加新的全局函数 2.使用$.extend(obj) 3.使用命名空间 类级别开发插件(用的非常少,1%) 分别举例: //1.直接给jquer添加全局函数 jQuery.myAlert=function (str) { alert(str); }; //2.用extend()方法.extend是jquery提供的一个方

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

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://cnn237111.blog.51cto.com/2359144/984466 之前写过一篇文章Jquery Ajax方法传值到action,本文是对该文的补充. 假设 controller中的方法是如下: public ActionResult ReadPerson(PersonModel model)  {  string s = model.ToString();  ret

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

之前写过一篇文章Jquery Ajax方法传值到action,本文是对该文的补充. 假设 controller中的方法是如下: public ActionResult ReadPerson(PersonModel model) { string s = model.ToString(); return Content(s); } public ActionResult ReadPersons(List<PersonModel> model) { string result = "&q

C++ Primer 学习笔记_73_面向对象编程 --再谈文本查询示例

面向对象编程 --再谈文本查询示例 引言: 扩展第10.6节的文本查询应用程序,使我们的系统可以支持更复杂的查询. 为了说明问题,将用下面的简单小说来运行查询: Alice Emma has long flowing red hair. Her Daddy says when the wind blows through her hair, it looks almost alive, like a fiery bird in flight. A beautiful fiery bird, he

再谈如何学习

大家看看这样的对比: 1,没有思考的学习: 通常有下列四类基本的结构: ⑴集合结构.该结构的数据元素间的关系是"属于同一个集合". ⑵线性结构.该结构的数据元素之间存在着一对一的关系. ⑶树型结构.该结构的数据元素之间存在着一对多的关系. ⑷图形结构.该结构的数据元素之间存在着多对多的关系,也称网状结构. 2,经过简单思考的学习: ⑴集合."属于同一个集合". ⑵线性.一对一. ⑶树型.一对多. ⑷图形.多对多,也称网状结构. 思考:我们该如何高效学习 对于第一部分

再谈javascript面向对象编程

前言:虽有陈皓<Javascript 面向对象编程>珠玉在前,但是我还是忍不住再画蛇添足的补上一篇文章,主要是因为javascript这门语言魅力.另外这篇文章是一篇入门文章,我也是才开始学习Javascript,有一点心得,才想写一篇这样文章,文章中难免有错误的地方,还请各位不吝吐槽指正 吐槽Javascript 初次接触Javascript,这门语言的确会让很多正规军感到诸多的不适,这种不适来自于Javascript的语法的简练和不严谨,这种不适也 来自Javascript这个悲催的名称,

OpenCV2马拉松第9圈——再谈对比度(对比度拉伸,直方图均衡化)

收入囊中 lookup table 对比度拉伸 直方图均衡化 葵花宝典 lookup table是什么东西呢? 举个例子,假设你想把图像颠倒一下,f[i] = 255-f[i],你会怎么做? for( int i = 0; i < I.rows; ++i) for( int j = 0; j < I.cols; ++j ) I.at<uchar>(i,j) = 255 - I.at<uchar>(i,j); 大部分人应该都会这么做.或者: for( i = 0; i &

OpenglES2.0 for Android:再谈纹理映射

OpenglES2.0 for Android:再谈纹理映射 前言 上一节我们实现了一个简单的纹理映射的例子--一个简单的贴图,这节我们来做一些稍微复杂一点的例子,最后再给我们前面的立方体做一个纹理. 纹理拉伸 重复拉伸方式 这种是经常使用的一张纹理拉伸方式,常用于绘制一些重复的元素,比如我们在游戏绘制一幅方格式的地图时.使用重复拉伸方式使得纹理能够根据目标平 面的大小自动重复,这样既不会失去纹理图的效果,也可以节省内存.如下图所示: 实现起来很简单,我们回到上节的项目,找到我们纹理的工具类Te