Array转换工具

本文介绍了一套实用的工具类,用于将字符串转换为不同类型的数组,包括Long、Integer及String数组。此外,还提供了去除字符串末尾分割符、生成SQL IN条件字符串等功能,适用于多种数据处理场景。
public class ArrayTransitionUtils {
/**
 * 
 * @param content    需要解析的字符串
 * @param separator  分割符
 * @return Long[]
 * @description
 * 将形如"1,2,3"的字符串 转换成 Long数组
 * 兼容     "1,2,3,"这种尾部存在分割符的情况
 */
public static Long[] stringToLongArray(String content,String separator){
	String[] StringArray = StringUtils.split(content, separator);
	
	Long[] result = new Long[StringArray.length];
	for(int i=0;i<StringArray.length;i++){
		result[i]=Long.parseLong(StringArray[i]);
	}
	return result;
}

/**
 * 
 * @param content    需要解析的字符串
 * @param separator  分割符
 * @return Integer[]
 * @description
 * 将形如"1,2,3"的字符串 转换成 Long数组
 * 兼容     "1,2,3,"这种尾部存在分割符的情况
 */
public static Integer[] stringToIntegerArray(String content,String separator){
	String[] StringArray = StringUtils.split(content, separator);
	
	Integer[] result = new Integer[StringArray.length];
	for(int i=0;i<StringArray.length;i++){
		result[i]=Integer.parseInt(StringArray[i]);
	}
	return result;
}
/**
 * 
 * @param paramArray   待转换的字符串数组
 * @return Long[]
 * @description
 * 将形如{"1","2"} 的字符串数组 转换成 Long数组
 */
public static Long[] stringArrayToLongArray(String[] paramArray){
	Long[] result = new Long[paramArray.length];
	for(int i=0;i<paramArray.length;i++){
		result[i]=Long.parseLong(paramArray[i]);
	}
	return result;
}
/**
 * 
 * @param contennt
 * @return String
 * @description
 * 去掉字符转分割符的最后一个符号,如:
 * "10,20,30,"  ->  "10,20,30"
 * 
 */
public static String sliceOffSeparator(String contennt){
	if(contennt.endsWith(","))
		return contennt.substring(0, contennt.length() - 1);
	else 
		return contennt;
}
/**
 * 
 * @param contennt
 * @param separator 自定义分割符
 * @return String
 * @description
 * 去掉字符转分割符的最后一个符号,如:
 * "10:20:30:"  ->  "10:20:30"
 * 
 */
public static String sliceOffSeparator(String contennt,String separator){
	if(contennt.endsWith(separator))
		return contennt.substring(0, contennt.length() - 1);
	else 
		return contennt;
}

/**
 * 
 * @return String
 * @description
 * 生成SQL语句中in条件的字符串
 * 如:{"ddd","222","ccc"} --> 'ddd','222','ccc'
 * 再配上in(),是不是很快活?
 */
public static String stringArrayToInString(String[] array){
	return "'" + StringUtils.join(array, "','") + "'";
}

/**
 * 
 * @return String
 * @description
 * 生成SQL语句中in条件的字符串
 */
@SuppressWarnings("unchecked")
public static String stringListToInString(List list){
	return "'" + StringUtils.join(list, "','") + "'";
}

/**
 * 
 * @return String
 * @description
 * 生成SQL语句中in条件的字符串
 * 如:"111,222,333,444,555" --> '111','222','333','444','555'
 * 再配上in(),是不是很快活?
 */
public static String StringToInString(String string,String separator){
	string = string.replaceAll(" ","");
	String[] array = StringUtils.split(string,separator);
	return stringArrayToInString(array);
}

/**
 * 
 * @return String
 * @description
 * 生成SQL语句中数字in条件的字符串
 * 如:1,2,3,4,即不使用单引号分隔
 */
public static String listToInNumString(List list){
	String result = "";
	for(Object temp : list){
		result += temp + ",";
	}
	
	return sliceOffSeparator(result);
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值