2017-10-28 19 views
0

groovyのリストに要素を追加している間に奇妙なことが起こっています。 シナリオ- list1とlist2の2つのリストがあります。 List1はX型のObjectを含み、List2は空です。 List1はJavaファイルから読み込まれ、GroovyスクリプトでList1を反復処理している間、List2にオブジェクトを追加しています。要素がリストのGroovyスクリプトに追加されない

しかし、何が起こっているかは、要素が追加されていないことです。 List2は空のままです。 私が行をデバッグし、行/行を評価すると、それが追加されています。しかし、この行を実行している間は通常のデバッグ中に突然任意の行にジャンプします。 例外はありません。

は、以下のようにリストを作成しました:

List<X> dataToBeRemoved = new ArrayList<>() 

反復処理のリストを以下のように:私はGroovyのに新しいです

for (X data in XList) { 
    if(something) { 
     dataToBeRemoved.add(data) 
    } 
} 

といずれかがこれまでこの種の問題に直面している場合。ご案内ください。ありがとう。

+0

'add(X)'は型で、値ではないようです –

+0

残念ですがデータです。私はポストを更新しました。 – Infotechie

答えて

2

あなたは聞いたことはありませんが、タイプパラメータはあまり得意ではありません。

List elementsToRemove = [] 

そして、この場合はさらに良い:その後

List elementsToRemove = allElements.findAll { ...some condition... } 

、それはあなたのコードから言うことは不可能です。 「なぜGroovyは動作しませんか?」などの質問答えにくいです。

0

は、あなたは、単に

def mySmallList = []

を使用して、空のリストを定義することができますし、また

mySmallList = myBigList.findAll {//some condition }

リンクhttps://groovyconsole.appspot.com/script/5127180895911936

に確認してくださいリストをフィルタリングするためのfindAllを使用することができます
関連する問題