mAn*_*oid 5 java string null char
我正在尝试用Java构建一个字符串,该字符串最长为3,最长为1.
我正在构建字符串取决于整数数组的内容,并且如果数组的内容为-1,则希望在字符串中输出空字符.否则,该字符串将包含整数的字符版本.
for (int i=0; i < mTypeSelection.length; i++){
mMenuName[i] = (mTypeSelection[i] > -1 ? Character.forDigit(mTypeSelection[i], 10) : '\u0000');
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止,但当我输出数组{0,-1,-1}的字符串而不是只是得到字符串"0"我得到字符串"0 ".
有谁知道我怎么能得到我想要的结果.
谢谢,m
我将假设您要在第一个空字符处终止字符串,就像在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();
Run Code Online (Sandbox Code Playgroud)