Создайте массив объектов Java

MATLAB® javaArray функция позволяет вам создать Java® массив, который MATLAB обрабатывает как один многомерный массив. Вы задаете количество и размер измерений массива наряду с классом объектов, которые вы хотите хранить в нем. Используя одномерный массив Java в качестве своего основного базового блока, MATLAB затем создает массив Java, который удовлетворяет размерностям, запрошенным в javaArray команда.

Чтобы создать объектный массив Java, используйте MATLAB javaArray функция. Например, следующая команда создает массив Java из четырех массивов нижнего уровня, каждый из которых содержит пять объектов java.lang.Double класс.

dblArray = javaArray('java.lang.Double',4,5);

javaArray функция не инициализирует значения в массиве. Этот код копирует первые четыре строки массива MATLAB A, содержащие случайным образом сгенерированные данные, в dblArray.

A = rand(5);
for m = 1:4
    for n = 1:5
        dblArray(m,n) = java.lang.Double(A(m,n));
    end
end

dblArray
dblArray =

  java.lang.Double[][]:

    [0.7577]    [0.7060]    [0.8235]    [0.4387]    [0.4898]
    [0.7431]    [0.0318]    [0.6948]    [0.3816]    [0.4456]
    [0.3922]    [0.2769]    [0.3171]    [0.7655]    [0.6463]
    [0.6555]    [0.0462]    [0.9502]    [0.7952]    [0.7094]

Необходимо преобразовать каждый элемент A на java.lang.Double тип. Для получения дополнительной информации см. раздел «Передача объектов Java».

Создайте массив примитивных типов Java

Чтобы передать массив примитивного типа Java в метод Java, необходимо передать массив эквивалентного типа MATLAB. Для получения дополнительной информации о отображении типов смотрите MATLAB Type to Java Отображение.

Для примера создайте java.awt.Polygon просматривая конструкторы в следующем окне методов.

methodsview('java.awt.Polygon')

Этот конструктор использует массив Java int.

	Polygon	(int[],int[],int)

MATLAB преобразует double MATLAB в скаляр Java или int массива. Создайте два массива MATLAB, идентифицируя четыре точки многоугольника.

x = [10 40 95 125 10];
y = [50 15 0 60 50];
polygon = java.awt.Polygon(x,y,length(x));

Чтобы вызвать Polygon метод объекта contains, проверьте его подпись в окне метода.

boolean	contains	(double,double)

MATLAB преобразует double MATLAB на Java- double. Этот оператор проверяет, находится ли точка (50,40) внутри полигона.

contains(polygon,50,40)
ans =

  logical

   1

См. также

Похожие темы