В этом примере показано, как вызвать метод java.util.ArrayList
класс. Пример демонстрирует то, что это означает иметь объекты Java® как ссылки в MATLAB®.
java.util.ArrayList
класс является частью библиотек стандарта Java. Поэтому класс уже находится на пути к классу Java. Если вы вызываете метод в классе, который не находится в стандартной библиотеке, то обновите путь к классу Java так, чтобы MATLAB мог найти метод. Для получения информации смотрите Путь к классу 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;
add
МетодДобавьте элементы в 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. Объектная таблица. Если вы передаете 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, присвойте 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
окно методов, найдите 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