В этом примере показано, как вызвать метод 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