如何在调用java.util.HashSet的java方法时传递一个jython Set作为参数?

时间:2012-11-01 22:00:23

标签: java set jython

我有一个jython脚本,我需要在其中调用java方法来处理某些逻辑。

这是我的jython脚本:

from sets import Set
....
names = Set(["Alice","Bob","Charles"])

// call a java method
Test.removeNames(names)

Test类中的removeNames将java.util.Set作为参数。运行脚本后,我得到了一个TypeError:

TypeError: removeNames(): 1st arg can't be coerced to java.util.Set

我尝试在我的jython脚本中使用java.util.Set并且它有效。但是,我只是想知道java方法有没有办法识别jython对象?

感谢!!!

1 个答案:

答案 0 :(得分:0)

Jython documentation说自动类型转换(强制)发生在需要的地方。但只有一些Jython类型(参考Jython文档中给出的列表)可以转换为Java类型,反之亦然。

对于其他类型,我想必须使用Java类型对象作为param传递给Java方法。