Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java StringBuilder问题_Java_String - Fatal编程技术网

Java StringBuilder问题

Java StringBuilder问题,java,string,Java,String,在我的应用程序中,我正在按以下方式准备用户日志列表: final StringBuilder _sb = new StringBuilder(); final String[] _ae = _d.getErrorsDetails(); for (int i=0; i<_ae.length; ++i) { _sb.append(_ae[i]); _sb.append(i == _ae.length-1 ? "" : s+s); }

在我的应用程序中,我正在按以下方式准备用户日志列表:

final StringBuilder _sb = new StringBuilder();
final String[] _ae = _d.getErrorsDetails();

for (int i=0; i<_ae.length; ++i) {
    _sb.append(_ae[i]);                    
    _sb.append(i == _ae.length-1 ? "" : s+s);
}
final StringBuilder\u sb=new StringBuilder();
最后一个字符串[]_ae=_d.getErrorsDetails();

对于(int i=0;i如果
s
char
而不是
String
s+s
将执行整数加法(即添加字符的代码点值),而不是字符串串联。

35是#的整数,35+35是70,看起来像ae[i]使用调试器,你会发现我已经尝试过了,但是在我调用35;sb.toString()之前,一切似乎都是正确的……只需添加
\u sb.append(s+s);
(或者修复错误的任何东西)可能会更容易些在for循环之后。无需继续检查
i===\ae.length-1
@并将条件反过来-如果在最后一个元素,则不要追加。@JiriTousek啊!那么,您仍然不需要该条件:只需转到循环中的
\ae.length-1
,并将最后一个元素追加到外部。谢谢,现在我理解了。不,我仍然不需要我不确定。之前我对代码做了一点修改,创建了一个新的字符串变量,我把##放在它的末尾。然后我把这个字符串附加到sb,结果我也得到了#70对##。然后请发布一个说明。否则我们只能猜测你犯了错误的地方。没有ae[I]是一个与#不同的字符串文本值#