在ZK框架中,当父组件具有多级子组件时,那么读取子实体是否需要执行始终的实例?

在ZK框架中,当父组件具有多级子组件时,那么读取子实体是否需要执行始终的实例?

问题描述:

在Zk框架中,当父子组件层次结构存在时,那么当您想要读取子组件的值时,我们需要检查instanceof xyz。例如(组件instanceof文本框)每次或我们有任何其他选项? instanceof是非常困难的操作,可能会导致性能问题。在ZK框架中,当父组件具有多级子组件时,那么读取子实体是否需要执行始终的实例?

如果一个组件的所有孩子都是同一类型的,你可以使用Component.getChildren的)泛型参数(以避免铸造:

Collection<Textbox> children = parent.<Textbox> getChildren(); 

看来,在你的情况,你有孩子各种/未知类型。在这种情况下,我看不到你如何避免检查和投射,而不会保留对每个孩子的引用。

+0

感谢您的回复,当各种类型的孩子都在那里时,问题就是这样,那时候您必须使用我认为不好的instanceof。 –

+0

你不应该担心性能的影响,instanceof不是很慢:http://*.com/questions/103564/the-performance-impact-of-using-instanceof-in-java –

如果你100%确定第n个孩子是xyz的实例,那么你只需要施放它。但不幸的是,如果你动态填充父项,唯一的办法就是检查每个孩子。