从Java HashMap和单个字符键

76(30天)
马太福音
马太福音 2012年5月17日
回答: Florian Schwaiger2015年2月3日
我试图从一个HashMap中创建Java读值。出于某种原因,当我试图用一个字符来检索值键(即。“X”),我得到一个空值,喜欢它没有找到钥匙。
代码在Java中创建HashMap:
公共Map < String、对象> getFakeHashMap () {
LinkedHashMap <字符串、对象>地图= new LinkedHashMap ();
map.put (“X”(双)0.01);
返回地图;
}
如果我得到一个快速看看返回给matlab当我得到整个hashMap:
> > = javaobj.getFakeHashMap测试
测试=
{X = 0.01}
看来价值做出了MATLAB。但是,如果我试图检索它
val = test.get (“X”)
val =
[]
空集bubkus…任何多字符关键似乎工作好。“X”替换为“PX”和它工作好了。
有人知道这也许会导致什么?我真的想让我的命名,因为这是由一个命名约定在我的应用程序中使用。

答案(1)

Florian Schwaiger
Florian Schwaiger 2015年2月3日
旧的线程,但发现解决方案,使用snakeyaml解析器也有同样的问题。
Matlab将钥匙当阅读从Java本地字符序列。Java再次经过他们时,他们会自动装箱。Matlab 1 x1 char,相应的Java对象是一个本土“字符”。Matlab 1 xn char数组,盒装对象“以”。
地图需要“. lang。字符串"键,通过“char[]”的回报。包装的关键明确一个字符串构造函数,如下所示:
map.get(以(键));

类别

找到更多的在从MATLAB调用Java帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!