Вызов метода Java

В этом примере показано, как вызвать метод java.util.ArrayList класс. Пример демонстрирует, что значит иметь Java® объекты как ссылки в MATLAB®.

The java.util.ArrayList является частью стандартных библиотек Java. Поэтому класс уже находится в пути класса Java. Если вы вызываете метод в классе, который не находится в стандартной библиотеке, обновите путь класса Java, чтобы MATLAB мог найти метод. Для получения дополнительной информации см. Класс Java Пути.

Выберите конструктор классов, чтобы создать объект Java

Создайте ArrayList объект при помощи одного из конструкторов классов. Отображение методов классов и поиск ArrayList записи в окне методов.

methodsview('java.util.ArrayList')
	ArrayList	(java.util.Collection)	
	ArrayList	( )	
	ArrayList	(int)	

Выберите ArrayList() синтаксис, который создает пустой список с начальной емкостью 10.

Сокращение имени класса

Используйте import функция для обращения к ArrayList класс без указания всего имени пакета java.util.

import java.util.ArrayList

Создайте список массивов

Создайте пустую ArrayList объект.

A = ArrayList;

Передайте данные MATLAB в add Метод

Добавить элементы в ArrayList объект. Смотрите в окне методов сигнатуры для add способ.

void     add (int,java.lang.Object)	
boolean  add (java.lang.Object)	

Выберите boolean add(java.lang.Object) синтаксис. Аргумент java.lang.Object является типом Java. Чтобы найти соответствующий тип MATLAB, смотрите таблицу Pass java.lang.Object. Если вы передаете double аргумент, MATLAB преобразует его в java.lang.Double тип.

Добавление элементов к ArrayList

Чтобы вызвать add метод, используйте синтаксис MATLAB.

add(A,5);
A
A =

[5.0]

Также используйте синтаксис Java.

A.add(10);
A
A =

[5.0, 10.0]

Объекты Java являются ссылками в MATLAB

Чтобы наблюдать поведение копирования объектов Java, назначьте A в новую переменную B.

B = A;

B является ссылкой на A. Любое изменение объекта, на который ссылаются B также изменяет объект в A. Либо код MATLAB, либо код Java могут изменить объект. Например, добавьте значение к B, а затем отобразите A.

add(B,15);
A
A =

[5.0, 10.0, 15.0]

Использование ArrayList Объект в MATLAB

Предположим, что вы вызываете метод Java, который возвращает объект Java типа ArrayList. Если вы вызывали команды в предыдущих разделах, переменные A содержит следующие значения:

class(A)
ans =

    'java.util.ArrayList'
A
A =

[5.0, 10.0, 15.0]

Как использовать A в MATLAB преобразуйте объект в java.lang.Object type или для примитивного типа. Затем примените MATLAB cell и cell2mat функций.

Из ArrayList methods window, найти toArray метод, который преобразует ArrayList на java.lang.Object[].

java.lang.Object[]	toArray	(java.lang.Object[])

Преобразование A на java.lang.Object.

res = toArray(A)
res =

  java.lang.Object[]:

    [ 5]
    [10]
    [15]

Преобразуйте выход в тип MATLAB.

res = cell(res)'
res =

  1×3 cell array

    [5]    [10]    [15]

Чтобы преобразовать это значение в матрицу, элементы должны быть того же типа. В этом примере значения преобразуются в типы double.

data = cell2mat(res)
data =

     5    10    15

См. также

|

Похожие примеры

Подробнее о

Внешние веб-сайты