1

クラスを含めようとしました(文字通り、あるグルーヴィーなファイルから別のファイルにカットアンドペーストしました)。

以下のエラーが表示されます

Groovy スクリプトのエラー: 起動に失敗しました。Script1.groovy: 101: クラス定義がここで予期されていません。内部クラスを使用しようとした可能性があります。内部クラスはサポートされていません。代わりにクロージャを使用してみてください。

目的は、静的ロジック全体を個別に分離することです。

4

1 に答える 1

3

あなたは内部のように見えるものを持っていますclass

    class Maps

メソッドの途中

public static void populateInstance(List lookup_1, List lookup_2, List lookup_3, List lookup_4, 
                                    List lookup_5, List lookup_6, List lookup_7){

また、これは Groovy であるため、すべてのゲッターを宣言する必要はありません。


import com.mobRet.*

すでにそのパッケージに含まれているため、必要ありません。また

import java.util.ArrayList
import java.util.HashMap;
import java.util.List

Groovy がデフォルトでインポートするため、削除可能


メソッド内では、populateInstanceこれらすべてを変更できます。

    tariffAllowance = new ArrayList();
    lookup_1.each { offer ->
        tariffAllowance.add(offer)
    }

    fmb = new ArrayList();
    lookup_2.each { offer ->
        fmb.add(offer)
    }

ブロック先:

    tariffAllowance = lookup_1.collect()
    fmb = lookup_2.collect()

また、を呼び出してすべてのデータを変更できるシングルトンを作成しているようですpopulateInstance。マルチスレッド環境では、これが間違っている可能性が非常に高くなります (事実上、これは 1 つの巨大なグローバル変数です)。

于 2013-09-25T12:13:21.303 に答える