Main Content

javaMethod

调用 Java 方法

说明

示例

javaMethod(MethodName,JavaObj,x1,...,xN) 使用与参数 x1,...,xN 匹配的签名调用 Java® 对象数组的类中的方法。使用 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 开头。

调用内部类中的静态方法或其构造函数。在 javaMethodjavaObject 函数中,使用 $ 字符将类名称指定为 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 对象。

MethodNameStaticMethodName 所需的 1 至 N 个(如果有) Java 方法输入参数,由任意类型指定。方法参数列表指定参数类型。

静态 Java 方法名称,指定为字符串或字符向量。

示例: java.lang.Double.isNaN(2.2)

数据类型: char | string

Java 类名称,指定为字符串或字符向量,包含 StaticMethodName

数据类型: char | string

提示

  • 可以使用 javaMethod 将方法名称指定为要在运行时调用的变量。调用静态方法时,还可以使用变量代替类名称参数。例如,请参阅调用运行时指定的方法

版本历史记录

在 R2006a 之前推出