【发布时间】:2013-03-10 05:03:01
【问题描述】:
我查看了所有内容,但没有看到 [a b] = methods(classname) 记录在案。我的意思是,记录了单变量输出,但没有记录双变量输出。我在 MATLAB 或未记录的 matlab 中或 甚至在这里 中都没有看到任何文档。也许我错过了?
如果我用 matlab 类调用它,例如char
[a b] = methods(char);
那么a就是char的方法列表,b就是[]
但是……
对于 java 类,b 具有一些有用的值。假设javaClass是一个java类或者java类名。
通常,我会致电a = method(javaClass) 或a = method(javaClass,'-full')。但是,我注意到我也可以打电话
[a b] = method(javaClass)
当我这样做时:
-
a是一个包含所有类方法名称的唯一列表的单元格。 (如预期) -
b是一个 N x 6 的字符串单元格,每列代表:-
'static'如果是静态的,[]否则 - 完全合格的返回类
- 方法名称
- 完全限定的方法名称
- 输入参数(括号内),或者只是
() - '抛出fully.qualified.exception.name',或
[]
-
例子:
[a b] = method(java.lang.Integer);
那么,a 是一个 ,包含简单的名称,例如 'Integer'、'bitCount' 等。
但是,b 是一个 ,包含每个函数的每个变体。例如,其中一个 valueOf 函数会显示
COL VALUE
1. static
2. java.lang.Integer
3. valueOf
4. java.lang.Integer.valueOf
5. (java.lang.String)
6. throws java.lang.NumberFormatException`
所以,这是我的问题:
主要问题:这完全不安全使用吗?因为它是无证的,所以我假设是这样;但是它为我提供了一些无需复制的内置功能。解析的变通方法并不令人讨厌,但这个功能已经在这里了。
这是从哪里来的?也就是说,这实际上是来自 MATLAB 函数,还是它正在使用一些 Java 函数?
有人用吗?或者(如在主要问题中)应该避免它吗?
有这方面的文档吗?除了这篇文章,我的意思是。我的意思是,当然,它似乎是一个直截了当的功能......而且这对任何人来说都足够有趣吗?
我使用的是 MATLAB 2011b,此功能是否仍然存在于更高版本的 MATLAB (2013a) 中?
【问题讨论】:
标签: matlab matlab-class