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

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

Чтобы создать объектный массив Java, используйте функцию javaArray MATLAB. Например, следующая команда создает массив 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 к Отображению Типа 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

Смотрите также

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте