组合两个CharSequence变量

时间:2013-10-10 15:51:39

标签: java android charsequence

我可以像这样组合两个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
        }
    }
}         

语法看起来没问题,因为编译器没有错误,但应用程序崩溃了。

此外,我不希望在此初学者阶段进入ListArrayList项目。知道我做错了吗?

另外,如果你说我不应该使用.toString()方法,那么我理解但是我应该怎么做才能使它正确?

3 个答案:

答案 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("\\)", "");