2010-02-01 5 views
1

일반적으로 MatLab 데이터 유형으로 변환하려는 java.util.HashMap 객체 (아마도 새로운 containers.Map 유형)가 있습니다. MatLab은 Java int 데이터 유형을 인식 할 수 있습니까?

가 이상적으로 내가 할 수있는 : 다른 잠재적 인 문제 중

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

(! 그들이 당신에 뛰어 경우 해결, 지적하시기 바랍니다) 문제가 그 자바의 HashMap은 정수로 키가되는 경우, it.next 그럼에도 불구하고 MatLab 이중 객체를 반환 할 것이고으로 HashMap에 대한 키로 작동하지 않습니다.

누군가가 해결 방법을 제안 할 수 있습니까? Java 객체를 확장하여 MatLab int32를 제공합니까?

답변

2

MATLAB는 Java 원시 INT에 정기적으로 입력 한 번호를 (이중 인)으로 변환합니다,하지만 당신은 정수 개체를 원하는 경우, 당신은 명시 적으로 직접 상자에 있습니다

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

A에 대한 http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/f6425.html을 참조하십시오 데이터 유형이 MATLAB에서 Java로 변환되는 방법에 대한 표.

+0

감사합니다. 마이크, 이것은 내가 실제로 알고 싶었지만 여전히 도움이되는 것과 반대입니다. 내 문제는 it.next가 Java에서 Int 인 키를 반환해야 할 때 MatLab이 키를 double로 가져옵니다. 그런 다음 Java 객체에서 값을 가져 오는 데 it.next를 사용하려고하면 Java 해시에 Int 키만 있기 때문에 작동하지 않습니다. 물론 int32 (it.next)를 사용하여 MatLab int에 다음을 캐스팅 할 수 있습니다. 그러면이 값은 Java 해시의 키로 작동합니다. 그러나 나는 열쇠에 대한 선험적 지식없이 이것을 처리 할 방법을 찾고있다. – Chinasaur

관련 문제