我有java枚举
package com.moc;
public enum MyType {
s,
q,
p,
none,
}
在 matlab(2012a) 我加载适当的 jar,并设置
a = com.moc.MyType.q;
a = com.moc.MyType.none;
它也有效。但是当我尝试评估
a = com.moc.MyType.s;
或者
a = com.moc.MyType.p;
我得到一个例外
The class com.moc.MyType has no property or method named 's'.
和
The class com.moc.MyType has no property or method named 'p'.
为什么 matlab 不允许我获取 's' 和 'p' 枚举值?
附言
a = com.moc.MyType.q;
a.getClass.getDeclaredField('p')
返回
public static final com.moc.MyType com.moc.MyType.p
更新
com.moc.MyType.valueOf('p') 有效。但问题对我来说仍然很重要。