我有一个java.util.HashMap对象,我想将其转换为MatLab数据类型,也许是新的容器.Map类型。
理想情况下,我可以这样做:
it = javaHashMapObj.keySet.iterator;
while it.hasNext
jkey = it.next;
someMatlabObj(jkey) = javaHashMapObj.get(jkey);
end
在其他潜在问题中(请指出,如果他们跳出来解决你的问题!),有一个问题是,如果Java HashMap使用整数键控,it.next
将返回MatLab双重对象,这将然后不能使用javaHashMapObj.get
作为键进入HashMap。
有人可以提出解决方法吗?扩展Java对象以获得密钥的MatLab int32?
答案 0 :(得分:2)
MATLAB会将定期输入的数字(这是一个双精度数字)转换为Java原语int,但是如果你想要一个整数对象,你必须自己明确地输入它:
javaHashMapobj.get(java.lang.Integer(key));
有关数据类型如何从MATLAB转换为Java的表格,请参见http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/f6425.html。