有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

结合两个字符序列变量的java

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

  1. # 1 楼答案

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

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

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

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

    String tryThis = temp.replaceAll("\\)", "");
    
  2. # 2 楼答案

    是的,很好,但是你想要的主要目标是什么

    一般来说,我们使用String,因为它有各种方法。同样,你也可以选择StringBuffer,但第一件事应该是什么是主要目标

  3. # 3 楼答案

    你确定get不是空的吗

    我试过你的代码,它运行正常

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

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

    temp = temp.toString() + get.toString().replaceAll("\\)", "");