В этом примере показано, как вызвать метод java.util.ArrayList
класс. Пример демонстрирует, что значит иметь Java® объекты как ссылки в MATLAB®.
The 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, смотрите таблицу 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, назначьте 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