1. 程式人生 > >再談怎樣以最簡單的方法將泛型為String類型的集合或String類型的數組轉化為逗號間隔字符串形式

再談怎樣以最簡單的方法將泛型為String類型的集合或String類型的數組轉化為逗號間隔字符串形式

集合 ret 類型 author sta rgs bsp lan ont

今天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類型的數組轉化為逗號間隔字符串形式