MATLAB имеет набор эвристик для преобразования типов данных MATLAB в тип, требуемый вызываемым методом Java. Полная информация описана в Передача данных в метод Java в документации MATLAB.
Подпись метода, void printArray(Object array)
, не дает MATLAB много информации о том, чего действительно хочет Java. Вот почему вы видите различные типы, в зависимости от того, как вы называете это.
Что касается вашего первоначального вопроса, я не уверен, почему это не сработает для вас. Внимательно рассмотрите Передача встроенных типов .
Это дает образец кода MATLAB
poly = java.awt.Polygon([14 42 98 124], [55 12 -2 62], 4);
где соответствующий метод Java имеет подпись
public Polygon(int xpoints[], int ypoints[], int npoints)
Это немного отличается от вашего вопроса, потому что оно включает массивы целых, а не массивов двойных, но должно работать одинаково.