gpt4 book ai didi

java - 在 Jython 中公开 Java Map<>,以便其键可通过 Python "dot"运算符使用(属性访问)

转载 作者:行者123 更新时间:2023-11-30 08:10:25 25 4
gpt4 key购买 nike

我们有一些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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com