MATLAB:Java String []转换

时间:2012-05-08 06:41:48

标签: java matlab

我对MATLAB编程很陌生,遇到了一些麻烦:

我想调用dSPACE MLIB libriary函数。根据他们的样本,它需要一个字符串数组作为参数:

variables = {'Model Root/Spring-Mass-Damper System/Out1';...
         'Model Root/Signal\nGenerator/Out1'};

libFunction(variables);

将此变量传递给函数。我现在的问题是:我有一个前端应用程序,用户可以从一个应该传递给matlab函数的任意数量的字符串中进行选择。由于前端是用Java编写的,因此传入数据的类型是java.lang.String []。 如何将java字符串数组转换为与上面的示例变量具有相同类型的字符串(我认为它是一个单元格数组的单元格数组,或者像那样)。

提前致谢!

1 个答案:

答案 0 :(得分:6)

查看文档。 MATLAB可以很容易地与Java类型进行转换。

  1. Handling data returned from Java
  2. Dealing with Java arrays
  3. 您可以在MATLAB中将Java字符串数组转换为单元格或字符数组。使用单元格数组甚至可以使用锯齿状数组(Java中允许使用)。

    以下是两个简单的例子:

    %# Preparing a java.lang.String[] to play with.
    a = javaArray('java.lang.String',10);
    b = {'I','am','the','very','model','of','a','modern','major','general'};
    for i=1:10; a(i) = java.lang.String(b{i}); end;
    
    %# To cell array of strings. Simple, eh?
    c = cell(a);
    
    %# To char array. Also simple.
    c = char(a);