我使用以下脚本使用索引从一组输入对象中选择一个对象。 它无法识别输入参数是一组三个值。 我认为我在行中做错了什么:
if(setOfObjects instanceof java.util.Collection)
if(setOfObjects != null)
{
if(setOfObjects instanceof java.util.Collection)
{
object = setOfObjects.get(index);
if (object instanceof fUML.Semantics.Classes.Kernel.Object_)
{
fUML.Semantics.Classes.Kernel.Reference r = new fUML.Semantics.Classes.Kernel.Reference(object.getOwner());
r.setReferent(object);
object = r;
}
}
Else print(index);
if(index == 1)
{
print("ok");
object = setOfObjects;
}
else
{
print("failed");
object = null;
}
}
else
{
object = null;
}
答案 0 :(得分:0)
GaryMcM的方法是正确的。当我在解释器命名空间中将setOfObjects
设置为java.util.HashSet
的实例时,代码正常工作,如下所示。
Set<String> setOfObjects = new HashSet<String>();
i.set("setOfObjects", setOfObjects );(i being beanshell interpreter's instance)
几点观察:
Else
应该是else
(beanhell不能容忍它)setOfObjects.get(index);
,get(int)
会抛出错误
醇>
你确定你提供的setOfObjects
不是null
,或者没有拼写错误,因为beanshell会假设一个变量,其中包含错字错误作为新错误。 (在非严格的java模式下)。