【发布时间】:2014-12-12 17:30:49
【问题描述】:
我在一个类中定义了一个字符串常量:
public static final String ABC = "abc";
我想比较一下,如果另一个字符串相等:
String test = "abc";
if (test.equals(OtherClass.ABC)) {
doSomething();
}
这个测试奇怪地失败了,当我用 eclipse 检查变量时,我看到 ABC 比测试长 2 个字符,它看起来像这样:
ABC: "abc"
test: abc
这些引用来自哪里,我如何摆脱它们?
【问题讨论】:
-
Eclipse 编辑器在调试时默认会在字符串周围加上引号。
-
我看不出
if条件如何返回false。你能提供一个可编译的例子来证明这一点吗? -
这些报价来自 OtherClass.ABC... 您未包含的代码。使用String的replace(String, String)方法修复问题。
-
@Kon 如果正在查看调试器的报价,测试不会失败
-
@Duncan 尝试编译一个,但它可以工作。也许这是一个android的东西? OtherClass 只是一个持有大量这些常量的助手。周一我回来工作时,将尝试将其归结为“工作”示例。
标签: java android eclipse string