この質問は、別の質問に対して受け取った回答に基づいています: https://stackoverflow.com/a/3060233/323357
私の理解では、インターフェイスを使用してサービスで戻り値の型とパラメーターの型を宣言すると、コンパイラーは複数のコンパイル ユニットを生成する必要があり、コンパイル時間と生成されるファイルのサイズが増加します。
これは事実ではないと思いますが、最新バージョンの gwt コンパイラ (2.4 - 2.5) には、不要なコンパイル ユニットを検出する方法があります...
ローカル変数とパラメータの場合?
void someFunction() { ArrayList<String> list = new ArrayList<String>(); privateFunction(list); //only use of the private function } private void privateFunction(List<String> list) { Set<Integer> set = new HashSet<Integer>(); //do stuff without reallocating list or set }
最終メンバー向け?
private final Interface member = new InterfaceImpl(); @override Interface getInterface() { return this.member; }
リターンタイプ?
List<String> myFunction() { List<String> ret = new ArrayList<String>(); //do stuff and fill the list return ret; }
サービスで?
//Service Interface List<String> myService(); //Service implementation List<String> myService() { List<String> ret = new ArrayList<String>(); //do stuff and fill the list return ret; }