J'ai un objet java.util.HashMap que je veux convertir généralement en un type de données MatLab, peut-être le nouveau type conteneurs.Map.MatLab peut-il comprendre le type de données Java int?
Idéalement je pouvais faire:
it = javaHashMapObj.keySet.iterator;
while it.hasNext
jkey = it.next;
someMatlabObj(jkey) = javaHashMapObj.get(jkey);
end
Parmi d'autres problèmes potentiels (! S'il vous plaît remarquer, résoudre si elles sautent à vous), il y a la question que si le Java HashMap est calée avec des nombres entiers, it.next
retournera néanmoins les objets doubles MatLab, qui ne fonctionneront alors pas comme des clés dans le HashMap avec javaHashMapObj.get
.
Quelqu'un peut-il suggérer un moyen de résoudre ce problème? Étendre l'objet Java pour me donner le MatLab int32 pour les clés?
Merci Mike, c'est en quelque sorte l'inverse de ce que je voulais vraiment savoir, mais toujours utile. Mon problème est que quand it.next devrait retourner une clé en Java est un Int, MatLab obtient la clé comme un double. Ensuite, lorsque j'essaie d'utiliser it.next pour obtenir les valeurs de l'objet Java, elles ne fonctionnent pas car le hash Java n'a que des clés Int. Bien sûr, je pourrais le lancer.txt à un int MatLab en utilisant int32 (it.next) et alors cette valeur fonctionnerait comme une clé dans le hachage Java. Mais j'essaie d'avoir un moyen de gérer cela sans connaissance a priori des touches. – Chinasaur