exponenta event banner

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

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

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 или к примитивному типу. Затем примените MATLAB cell и cell2mat функции.

От ArrayList methods, найдите 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

См. также

|

Связанные примеры

Подробнее

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