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

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

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

Выбор конструктора класса к объекту Create 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, чтобы добавить Метод

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

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

Выберите синтаксис boolean add(java.lang.Object). Аргумент java.lang.Object является типом Java. Чтобы найти соответствующий тип MATLAB, посмотрите на 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 или в тип примитива. Затем примените cell MATLAB и функции cell2mat.

Из окна методов ArrayList найдите метод 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

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

|

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

Больше о

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

Была ли эта тема полезной?