我可以像这样组合两个CharSequence
变量吗?
if (status == 1) {
for (int i = 0; i < get.length(); i++) {
if (get.charAt(i) == ')') {
} else {
temp = temp.toString() + get.charAt(i);
// temp and get are charSequence VARIABLES
}
}
}
语法看起来没问题,因为编译器没有错误,但应用程序崩溃了。
此外,我不希望在此初学者阶段进入List
和ArrayList
项目。知道我做错了吗?
另外,如果你说我不应该使用.toString()
方法,那么我理解但是我应该怎么做才能使它正确?
答案 0 :(得分:1)
首先,您可以考虑稍微重构一下代码:
if (status == 1) {
for (int i = 0; i < get.length(); i++) {
if (!(get.charAt(i) == ')')) {
temp += get.charAt(i);
}
}
}
您遇到的错误位于代码的不同位置。这个不能抛出异常。
同样,对于解析,您应该考虑正则表达式:
String tryThis = temp.replaceAll("\\)", "");
答案 1 :(得分:0)
是的,没关系,但您寻找的主要目标是什么?
一般来说,对于这类事情,我们使用String
,因为它有各种方法。此外,您可以使用StringBuffer
,但首先应该是主要目标。
答案 2 :(得分:0)
你确定get
不是空吗?
我尝试了你的代码并且它正在运行。
调试并提供应用崩溃的值。
您可以通过以下方式获得相同的结果:
temp = temp.toString() + get.toString().replaceAll("\\)", "");