外部に見えないのがそのまま欠点になってると思うぞ。

Arrays.asList メソッドが返すのは List となっているが、こいつは
内部で定義されている ArrayList (java.util.ArrayListとは別物)の
インスタンスを返していて、APIに実装が出ていないから詳細を知るには
わざわざソースを見に行かなければならない。
そこまで頭が行かないやつは、コンパイルエラーで「ArrayList」って
出てきて、なおさら混乱する。

内部クラスのインスタンスを返している仕様が問題なのかもしれんが
(というか、なぜそんなことをしているのかがイマイチよくわからん)。