见下文,为什么 GUI 不显示 agent 属性中的 demandhist(左下角)?
问问题
32 次
1 回答
3
如果没有一些额外的注释,Repast 探测机制不会显示非原始 + 字符串类型。你可以做两件事之一
创建 getter / setter 方法,将您的 List 作为 String 返回并分别接受 String 作为参数。后者将解析字符串并使用解析的值更新列表。
使用@ProbedProperty 注释并指定一个字符串转换器来执行从列表到字符串的转换。例如,
@ProbedProperty(usageName="list", displayName="A List", converter="repast.simphony.parameter.StringConverterFactory$StringStringConverter") public List<Integer> getList() { return Arrays.asList(1, 2, 3, 4); }
在这里,我StringConverterFactory$StringStringConverter
用来进行转换。这仅适用于 getter,但不适用于 setter。如果您有 setter,则需要编写自己的 StringConverter 实现。
最后,如果您使用 ProbedProperty 注释,您可能需要为您希望显示的其他属性添加它。对于原语,您可以省略转换器。我认为 ProbedProperty 的存在意味着“不显示所有属性,只显示我注释的那些”。
于 2019-09-06T13:33:55.403 回答