我正在尝试用 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�”。
有谁知道我怎样才能得到我想要的结果。
谢谢,我
最佳答案
我假设您想在第一个空字符处终止字符串,就像在 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();
关于字符串中的 Java 空字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7592466/