javaMethod

Синтаксис

javaMethod(MethodName,JavaObj,x1,...,xN)
javaMethod(StaticMethodName,ClassName,x1,...,xN)

Описание

пример

javaMethod(MethodName,JavaObj,x1,...,xN) вызывает метод в классе объектного массива Java® с подписью, совпадающей с аргументами x1,...,xN. Используйте javaMethod, чтобы вызвать методы, имеющие имена, которые превышают максимальную длину идентификатора MATLAB®. Этот подход является единственным способом, которым можно вызвать такой метод в MATLAB. Чтобы получить максимальную длину идентификатора, вызовите функцию namelengthmax.

В целом используйте синтаксис MATLAB, чтобы вызвать методы на объектах Java.

method(object,arg1,...,argn)

Также используйте синтаксис Java.

object.method(arg1,...,argn)

пример

javaMethod(StaticMethodName,ClassName,x1,...,xN) вызывает статический метод в классе ClassName.

В целом используйте синтаксис MATLAB, чтобы вызвать статические методы для объектов Java.

class.method(arg1,...,argn)

Примеры

свернуть все

Создайте объект java.util.Date myDate и измените месяц до апреля. Из документации Java, "Месяц представлен целым числом от 0 до 11; 0, 1 января февраль, и т.д". Поэтому числовым значением на апрель является 3.

myDate = java.util.Date;
javaMethod('setMonth',myDate,3)

Вызовите статический метод java.lang.Double isNaN, чтобы протестировать переменный num. Поскольку num содержит номер, никакое сообщение не отображено.

num = 2.2;
if javaMethod('isNaN','java.lang.Double',num)
    disp('This is not a number')
end

Ищите текстовый шаблон в строке с помощью переменных для шаблона и для метода поиска. Эти переменные могли быть установлены во времени выполнения от ввода данных пользователем.

Выберите метод, startsWith, и идентифицируйте шаблон, str.

fnc = 'startsWith';
str = java.lang.String('Four score');

Идентифицируйте текст, чтобы искать.

gAddress = java.lang.String('Four score and seven years ago');

Ищите gAddress шаблон.

javaMethod(fnc,gAddress,str)
ans = logical
   1

gAddress запускает со слов Four score.

Вызовите конструктора или статический метод во внутреннем классе. В javaMethod и функциях javaObject, задайте имя класса, с помощью символа $, как OuterClass$InnerClass.

Например, предположите класс, com.ams.MyClass содержит класс MyInnerClass со статическим методом methodname. На Java синтаксис вызова:

out = com.ams.MyClass.MyInnerClass.methodname(arg);

В MATLAB введите:

out = javaMethod('methodname','com.ams.MyClass$MyInnerClass',arg)

Входные параметры

свернуть все

Нестатическое имя метода Java, заданное как строка или вектор символа.

Пример: javaMethod ('DataDefinitionAndDataManipulationTransactions', T)

Типы данных: char | string

Массив, заданный как объект Java класса, содержащего метод.

Входные параметры метода Java, 1 через N (если таковые имеются), требуемый MethodName или StaticMethodName, заданным любым типом. Список аргументов метода задает тип аргумента.

Статическое имя метода Java, заданное как строка или вектор символа.

Пример: java.lang. 'double'. isNaN (2.2)

Типы данных: char | string

Имя класса Java, заданное как строка или вектор символа, содержа StaticMethodName.

Типы данных: char | string

Советы

  • Используйте javaMethod, чтобы задать имя метода как переменную, которая будет вызвана во времени выполнения. При вызове статического метода также можно использовать переменную вместо аргумента имени класса. Например, см. Метод Вызова, Заданный во Времени выполнения.

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

| | | | |

Представлено до R2006a

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