Может ли MatLab понять тип данных Java int? - PullRequest
1 голос
/ 01 февраля 2010

У меня есть объект java.util.HashMap, который я хочу преобразовать, как правило, в тип данных MatLab, возможно, в новый тип Containers.Map.

В идеале я мог бы сделать:

it = javaHashMapObj.keySet.iterator;
while it.hasNext
    jkey = it.next;
    someMatlabObj(jkey) = javaHashMapObj.get(jkey);
end

Среди других потенциальных проблем (пожалуйста, укажите, решите, если они выпрыгнут на вас!), Существует проблема, заключающаяся в том, что, если в Java HashMap заданы целые числа, it.next, тем не менее, вернет двойные объекты MatLab, которые затем работать как ключи в HashMap с javaHashMapObj.get.

Может кто-нибудь предложить способ решить эту проблему? Расширить объект Java, чтобы дать мне MatLab int32 для ключей?

1 Ответ

2 голосов
/ 02 февраля 2010

MATLAB преобразует регулярно вводимый номер (который является двойным) в примитив Java int, но если вам нужен объект Integer, вы должны явно указать его самостоятельно:

javaHashMapobj.get(java.lang.Integer(key));

См. http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/f6425.html для таблицы того, как типы данных преобразуются из MATLAB в Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...