Java使用带引号的字符串常量

Java使用带引号的字符串常量,java,eclipse,debugging,Java,Eclipse,Debugging,当我将这个带有MB的常量字符串与一个带有MB的变量进行比较时,结果为false。字符串常量看起来像“MB”([”,M,B,“]=4长度),我的变量是“MB”([M,B]=2长度)。这里怎么了。Java无法将代码中的引号放入字符串中 public static final String gc_TelCodeFixed = "FX"; if (!telcode.getId().equals(com.quoka.qis.db.constant.Constants.gc_TelCodeFixed))

当我将这个带有MB的常量字符串与一个带有MB的变量进行比较时,结果为false。字符串常量看起来像“MB”([”,M,B,“]=4长度),我的变量是“MB”([M,B]=2长度)。这里怎么了。Java无法将代码中的引号放入字符串中

public static final String gc_TelCodeFixed  = "FX";

if (!telcode.getId().equals(com.quoka.qis.db.constant.Constants.gc_TelCodeFixed)) 
    throw new TelcodeTypeMismatchException(telcode.getType()); 


不可见字符可能导致此行为

“MB”是如何到达那里的?您是从另一个程序中键入它们还是复制粘贴? 复制粘贴操作可能以不可见字符结束,文本编辑器将不会显示这些字符

通过使用Linux文档查看器从PDF文件复制,可以很容易地复制这些内容

希望这有帮助,
Yaron

它在Java中是“\”MB\”,您能显示telcode.getId()的内容吗?您是否尝试过使IDE的缓存无效,或重新导入项目之类的内容?这看起来确实很奇怪。它只是在IDE中,还是代码的工作方式与4个字符长的字符串一致?我怀疑IDE中有一些过时的.class文件或缓存。我会重新编译代码,并重新导入项目。我还怀疑这是某种wierd IDE错误。以前从没见过。看起来您正在使用Eclipse,对吗?我建议用这个来标记这个问题。