У меня есть Java перечислениеMatlab java interop. Используйте перечисление значений
package com.moc;
public enum MyType {
s,
q,
p,
none,
}
В MatLab (2012a) я загрузить соответствующую банку, и установить
a = com.moc.MyType.q;
a = com.moc.MyType.none;
Он работает хорошо. Но когда я пытаюсь Eval
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 DISALLOW меня, чтобы получить 's' и 'p' перечислены значения?
P.S.
a = com.moc.MyType.q;
a.getClass.getDeclaredField('p')
возвращает
public static final com.moc.MyType com.moc.MyType.p
UPDATE
com.moc.MyType.valueOf ('р') работает. Но вопрос остается актуальным для меня.
Спасибо. Но почему «com.moc.MyType.q» работает и «com.moc.MyType.p» нет? – user1312837