答えて
ListやArrayListのような型の場合は、コンパイルが行われるべきではないので、リスト昇格リストCode to an interfaceを返すべきです。
CopyOnWriteArrayListのような並行性パッケージであり、リストインターフェイスで定義されていないaddIfAbsentのようなメソッドを使用していたため、自分自身が制限されていました。
あなたはArrayListのか、そのことについては、具体的な実装を返すのであれば、あなたが契約(List
インタフェース)で定義されていないAPIを使用することができますが、その後、あなたはArrayList
からLinkedList
に何か他のもの(に特定の実装からchangeingに制限されています)、あなたのAPIを使用するすべての人があなたの変更に応じて変更する必要がありますので、私は思って過ぎています。
意味は、返されたオブジェクトのListインターフェイスのメソッドではないArrayListのメソッドを呼び出すことができないことです。
オブジェクトがArrayListの場合は、キャストを行うことができます。
具体的なクラスを返す唯一の理由は、呼び出し側がこの具体的な実装、または場合によっては具体的な実装における追加のインタフェースを認識する必要がある場合があります。たとえば、Androidでは、フレームワークはジェネリックリストインターフェイスを適切にシリアル化する方法を知らないため、ArrayListを使用する必要があります。
インターフェイスに適した最も一般的なタイプを返すことをお勧めします。
ArrayListが本質的に返すデータに適切な理由がある場合は、それを使用する必要があります。通常、リストは結構ですが、返された値は、本質的に順序付けられていない場合、あなたはまた、コレクションを使用して検討するかもしれない:絵のため
- 1. 多態性: "ArrayList list = new ArrayList"の代わりに "List list = new ArrayList"を使用するのはなぜですか?
- 2. List対ArrayListとは何ですか?
- 3. List of(String)またはArrayまたはArrayList
- 4. ArrayListで返されたオブジェクトを返す
- 5. JavaのListまたはArrayListの宣言の違いは何ですか?
- 6. LINQを使用して 'ArrayList'を 'List <string>'(または 'List <T>')に変換します。
- 7. ListとArrayListの違いは何ですか?
- 8. JavaFXプログラムのArrayListをObservable Listに変換しますか?
- 9. AndroidのAsyncTaskで匿名リストまたはArrayListを返す方法
- 10. arraylist/list RESTful Webサービスjson
- 11. arraylistを返すには?
- 12. Android ArrayList iteratorはnullを返します
- 13. インターフェイスを実装するGeneric Listオブジェクトをすべて返す
- 14. ArrayListはすべてのインデックスに対して同じ要素を返します
- 15. AndroidでArraylistを並べ替えます。
- 16. なぜ、ArrayListに "implements List"があるのですか?
- 17. C#リストはいつ使うべきですか?そして、いつarraylistを使うべきですか?
- 18. TreeSetはtrueを返すべきときにfalseを返しますか?
- 19. 入力されたハッシュマップから取得されたArraylistは、空のarraylistを返し続けます。
- 20. `git branch --list`はファイルを返しますか?
- 21. 2 ArrayListと同じArrayList間の戻り値を返します
- 22. Jax-ws WebサービスからリストのArrayListを返すことができません
- 23. List <>をJsonResultで返す
- 24. Spring-Data JPA CrudRepositoryはIterableを返します。これをListにキャストできますか?
- 25. どのようにArrayList <ArrayList <String>>を並べ替えることができますか?
- 26. Entity Frameworkが空のListではなくList <>を返すのはなぜですか?
- 27. List、ArrayList、およびLinkedListの問題?
- 28. WindowsフォームコントロールとLINQ;私は何を返すべきですか?
- 29. myCustomDictionary.Valuesはどのような型を返すべきですか?
- 30. すべてのInt値をList [Any]から抜き出す方法は?
1 :) –
図をありがとう –