Насколько я понимаю, DTO, которые будут сериализованы для GWT RPC , должны объявлять свои поля минимально возможного типа реализации из соображений производительности. Например, следует отдать предпочтение ArrayList
над List
или Collection
, вопреки совету, который мы обычно получаем наоборот (например, Effective Java, Item 52).
С коллекциями JDK это не проблема - в большинстве случаев Map
- это HashMap
, Set
- это HashSet
, а List
- это ArrayList
. Однако я использую коллекции Guava Immutable * (например, ImmutableList ), где я действительно не знаю, какую реализацию я получу в итоге. Нужно ли мне просто смириться с этим и позволить GWT подражать им всем, или здесь есть какой-нибудь способ контролировать урон?