2

我可以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()方法,那么我理解,但是我应该怎么做才能使它正确呢?

4

3 回答 3

1

那么首先你可以考虑一下重构代码:

if (status == 1) {
    for (int i = 0; i < get.length(); i++) {
        if (!(get.charAt(i) == ')')) {
            temp += get.charAt(i);
        }                
    }
}

您遇到的错误位于代码的不同位置。这个不能抛出异常。

同样对于解析,您应该考虑正则表达式:

String tryThis = temp.replaceAll("\\)", "");
于 2013-10-10T15:55:34.037 回答
0

是的,这很好,但是您要寻找的主要目标是什么?

通常我们使用这样的东西,String因为它有各种方法。此外,您可以选择,StringBuffer但首先应该是主要目标。

于 2013-10-10T15:55:56.353 回答
-1

你确定get不是 null 吗?

我试过你的代码,它正在工作。

调试并提供应用程序崩溃的值。

您可以通过以下方式获得相同的结果:

temp = temp.toString() + get.toString().replaceAll("\\)", "");
于 2013-10-10T16:04:38.370 回答