【发布时间】:2012-03-28 11:43:12
【问题描述】:
我有数组列表“myorderdata”。我想将此数组列表检索到一个字符串变量,并希望在从数组列表中检索的每个值之间使用“,”分隔符。
我尝试过这样做
String[] y = myorderdata.toArray(new String[0]); 但这不起作用。
谁能帮我 ?
提前致谢。
【问题讨论】:
我有数组列表“myorderdata”。我想将此数组列表检索到一个字符串变量,并希望在从数组列表中检索的每个值之间使用“,”分隔符。
我尝试过这样做
String[] y = myorderdata.toArray(new String[0]); 但这不起作用。
谁能帮我 ?
提前致谢。
【问题讨论】:
这是解决此任务的另一个变体。 Android 提供了两种 util 方法来加入 TextUtils 类中的数组或 Iterable 的元素。
// Join the elements of myorderdata and separate them with a comma:
String joinedString = TextUtils.join(",", myorderdata);
【讨论】:
使用此方法加入数组:
//for List of strings
public static String join(List<String> listStrings, String separator) {
String[] sl = (String[]) listStrings.toArray(new String[]{});
return join(sl, separator);
}
/**
* Joins an array of string with the given separator
* @param strings array of string
* @param separator string to join with
* @return a single joined string from array
*/
public static String join(String[] strings, String separator) {
StringBuffer sb = new StringBuffer();
for (int i=0; i < strings.length; i++) {
if (i != 0) sb.append(separator);
sb.append(strings[i]);
}
return sb.toString();
}
【讨论】:
foreach(String[] array : myorderdata){ String line = join(array, ","); }
StringBuffer sb = new StringBuffer();
for( String string : myorderdata )
{
sb.append( string );
sb.append( "," );
}
sb.deleteCharAt( sb.length() );
String result = sb.toString();
【讨论】: