java - android Java哈希表无法存储某些字符

标签 java android hashtable

我定义一个哈希表如下:

Hashhtable<String, String> dicts = new Hashtable<String, String>();
dicts.put("天", "sky");  
String hashstr =(String)dicts.get("天");

但是,返回值为空。

我尝试用其他词,没问题。但“天”字却无法存储,请问为什么?提前致谢。

最佳答案

你只是有不同的字符串。如果您将粘贴从一个字符串复制到另一个字符串,它会起作用:

Hashtable<String, String> dicts = new Hashtable<>(); // no need to repeat the whole type
dicts.put("天", "sky");  
String hashstr = dicts.get("天"); // no need to cast here
System.out.println(hashstr); // prints "sky"

请注意,Unicode 充满了您的编辑器可能无法呈现的内容。更准确地说,您的字符串开头有一个不可见的字符(在对 put 的调用中)。无需借助十六进制编辑器即可发现问题的简单方法是在任何文本编辑器中移动光标:它将在第一次点击右箭头时保持在原位。

关于java - android Java哈希表无法存储某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19180881/

相关文章:

java - Vaadin 中的表中禁止显示零值整数

java - 为什么在 AppEngine/Java 中默认禁用并发请求?

java - 为什么每次我点击另一个 fragment 时,从 firebase 检索的数据都会增加?

android - 我可以让 Android WebView 支持其他图像格式(例如 TIFF)吗?

java - 如何在Java中找到Hashtable中值的中位数?

java - 哈希表哈希避免负哈希码

java - Spring模块内部如何使用java?

java - 尝试将抽屉导航按钮添加到应用栏

android - 使用按钮单击控制 ImageView

java - 如何更新Java HashTable?