字符串没有复制到另一个的问题

时间:2013-05-30 23:53:59

标签: java string

过去几天我一直有问题。我想知道为什么var9没有替换var10,或者如果是,为什么不是if(var10.equals(var9))工作。

public class WebsiteListener {

    public static void checkerSimpleSSP(String var0, double var1, String var3, String var4) {

        try {
            URL var6 = new URL(var3);
            BufferedReader var7 = new BufferedReader(new InputStreamReader(var6.openStream()));
            String var9 = "Note";
            String var8;
            String var10 = "Test";

            while ((var8 = var7.readLine()) != null) {
                if (var8.contains("message")) {
                    var9 = var8.replaceAll("message:", "").trim();
                    break;
                }
            }
            if (var10.equals(var9)) {
                System.out.println("No message update");
            } else {
                var10 = var9;
                window(var0, var4, var9, var10, var8);
            }
            var7.close();
        }
        catch (MalformedURLException var11) {
            ;
        }
        catch (IOException var12) {
            ;
        }
    }

    private static void window(String var0, String var1, String var9, String var10, String var8) {//Var0 Name
        //do stuff
    }
}

我到处都可以找到我在互联网上找到的但我无法找到问题或获得帮助。请帮忙!

发现错误

在代码中添加静态字符串已经修复了所有内容

        if (!currentmessage.equalsIgnoreCase(var9)) {
            currentmessage = var9;
            window(var0, var4, var9, var10, var8);
        } else {
            System.out.println("No message update");
        }

当前消息是静态消息。

2 个答案:

答案 0 :(得分:0)

在此示例中,

var9var10都是空字符串,因此if (var10.equals(var9))的计算结果为true,并且打印出“无消息更新”。

var10=var9语句然后不执行,因为它位于if语句的else部分,因此仅在var10和{{ 1}}没有意义上的平等。换句话说,如果它们不相等,var10将仅被var9“替换”。

答案 1 :(得分:0)

我需要在代码中有一个静态变量。一切正常,代码在上面。