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 に答える