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

Posted jzssuanfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了再谈怎样以最简单的方法将泛型为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("^\\[| |\\]$", "");
	}
}






以上是关于再谈怎样以最简单的方法将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能将泛型类型的一个实例转换为另一个实例?

可以将泛型类型限制为枚举吗? [复制]

是否可以将泛型重载限制为属性类型?

如何将泛型类型参数限制为 System.Enum [重复]

Java 将泛型类型与 Void 进行比较

Java之泛型