我正在尝试在Java中构建一个字符串,该字符串最长为3,最长为1。
我正在构建字符串,具体取决于整数数组的内容,如果数组的内容为-1,则希望在字符串中输出空字符。否则,该字符串将包含整数的字符版本。
for (int i=0; i < mTypeSelection.length; i++){
mMenuName[i] = (mTypeSelection[i] > -1 ? Character.forDigit(mTypeSelection[i], 10) : '\u0000');
}
这是我到目前为止,但是当我输出数组{0,-1,-1}的字符串而不是只是获取字符串“0”时,我得到字符串“0 ”。
有谁知道我怎么能得到我想要的结果。
谢谢,m
答案 0 :(得分:6)
我将假设您要在第一个空字符处终止字符串,就像在C中发生的那样。但是,您可以在Java中的字符串中包含空字符,因此它们不会终止字符串。我认为以下代码将产生您所追求的行为:
StringBuilder sb = new StringBuilder();
for (int i=0; i < mTypeSelection.length; i++){
if(mTypeSelection[i] > -1) {
sb.append(Character.forDigit(mTypeSelection[i], 10));
} else {
break;
}
}
String result = sb.toString();