现在的位置: 首页 > 综合 > 正文

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

2019年11月13日 ⁄ 综合 ⁄ 共 2748字 ⁄ 字号 评论关闭

        今天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("^\\[| |\\]$", "");
	}
}

抱歉!评论已关闭.