0

我有以下Groovy域类:

class A {

  def lotOfBs = []

}

现在,我需要从一个Java类迭代该数组。这些解决方案不起作用:

for ( B b : a.getLotOfBs() ){
  //COMPILATION ERROR
}

for ( int i = 0 ; i < a.getLotOfBs().length ; i++ ){
  //LENGTH ATTRIBUTE DOES NOT EXIST OR IT IS NOT VISIBLE
}

for ( int i = 0 ; i < a.getLotOfBs().size() ; i++ ){
  //SIZE METHOD DOES NOT EXIST
}

你有什么建议吗?

提前致谢

4

1 回答 1

2

groovy 类中的数组是 java.util.ArrayList 的一个实例,因此转换为 Collection<T> 应该可以工作:

  Collection<B> bs = (Collection<B>) a.getLotOfBs();

  for (B b : bs) {
    ...
  }
于 2012-08-19T17:51:09.480 回答