主要内容

本页采用了机器翻译。点击此处可查看英文原文。

Java 客户端编写可变长度的输入和输出代码

MATLAB® 支持具有可变数量输入参量(varargin)和可变数量输出参量(varargout)的函数。

MATLAB Production Server™ Java® 客户端支持使用可变长度输入(varargin)和输出(varargout)的能力。varargin 支持 MATLAB 支持的一种或多种数据类型。有关 vararginvarargout 的完整信息,请参阅 MATLAB 函数参考

例如,考虑这个 MATLAB 函数:

function varargout = vararginout(double1, char2, varargin)
在此示例中,第一个输入是 double 类型(double1),第二个输入类型是 char(char2)。第三个输入是一个可变长度数组,可以包含零个、一个或多个有效的 MATLAB 数据类型的输入参数。

相应的客户端方法签名必须包含与 Java 方法的第一个输入相同数量的输出参量。

因此 MATLAB Production Server Java 客户端针对 varargout Java 函数支持的 MATLAB 方法签名如下:

public Object[] vararginout(int nargout, double in1, String in2, Object... vararg);

vararginout 方法签名中,为 in1in2 指定等效的 Java 类型。

输入参数的变量数量在 Java 中指定为 Object... vararg

输出参数的变量数量在 Java 中指定为返回类型 Object[]

请注意此示例说明的以下最佳编码实践:

  • MATLAB 函数签名和 Java 方法签名都使用名称 vararginout。两个签名都定义了两个输入和两个输出。

  • MATLAB Java 接口支持从 Java 双精度数组到 MATLAB 双精度数组的直接转换,以及从 Java 字符串到 MATLAB 字符数组的直接转换。有关详细信息,请参阅Java 类型到 MATLAB 类型的转换