java - 处理无效字符常量

标签 java

我一直在用java开发一个数据压缩和解压缩程序。在我的代码中的某个时刻,我只想访问带有键的节点。部分代码如下所示:

//visit only nodes with keys
if(n.alpha != '\0') {
     System.out.println("{" + n.alpha + ":" + s + "}");
     charToCode.put(n.alpha, s);
     codeToChar.put(s, n.alpha);
}

'\0' 给我一个无效的字符常量。我需要知道发生了什么事,以及如何补救。谢谢!

最佳答案

您试图将字符串表示并视为字符

n.alpha != '\0' // single quotes denote a character

您需要使用字符串

n.alpha != "\0"

然后,因为相等运算符通常不应该与字符串一起使用,并且因为您错误地测试了 Stringchar 之间的相等性,所以您需要将其重写为

if(!Character.toString(n.alpha).equals("\0"))

请注意使用 Character.toString(n.alpha) 将 char n.alpha 转换为字符串。

关于java - 处理无效字符常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30207205/

相关文章:

java - 将列表分成组

java - 正则表达式在 drools 5.3.0 中不起作用

java - 在另一个类 TextView 中显示 Spinner 所选项目

java - 如何从 RecyclerView Adapter 中的 Sharedpreferences 获取数据并传递到下一个 fragment

java - 如何通过共享对象正确使用信号?

Java JTDS 到 SQL Server 2000

java - 我如何知道哪个 Widget 调用了 Handler 或 Event?

java - 如何在 Spring 中发送 JSON 响应?

java - 想要在单个 hibernate 事务中从文件夹中删除数据库值和文档

java - ConcurrentHashMap 是否会通过 get() 公开部分构造的对象?