我们有一些Map<String, Object>
在 Java 中,我想将其提供给 Jython 函数。我想通过访问内容
mymap.foo.bar
而不是
mymap['foo']['bar']
有没有办法包装 Map
以便它在 Jython 中具有这种行为? (例如Python中的__getattr__
方法,仅在Java中实现)
最佳答案
我最终实现了这个:
@Override public PyObject __findattr_ex__(String name) {
if (this.containsKey(name))
{
return Py.java2py(this.get(name));
}
else
{
throw Py.AttributeError(name);
}
}
对于同时扩展 Map<String, Object>
的对象和PyObject
.
关于java - 在 Jython 中公开 Java Map<>,以便其键可通过 Python "dot"运算符使用(属性访问),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30468876/