누군가가 ArrayList<?>
, ArrayList
및 ArrayList<Object>
의 차이점을 설명하고 각각을 사용할 수 있습니까? 그것들은 모두 동일하거나 구현 수준에서 각각 다른 의미를 갖고 있습니까?ArrayList <?>, ArrayList, ArrayList <Object>의 차이점은 무엇입니까?
답변
ArrayList<Object>
이 ArrayList<?>
반면 Object
의 목록 콘크리트 종류 우리가 알 수없는 목록입니다 (특히입니다 이는 null
을 제외한 목록에 아무 것도 추가 할 수 없음을 의미합니다. 목록의 유형이 부적절한 경우 (예 : 수행하려는 작업이 목록 유형에 의존하지 않는 경우 예를 들어 :
public static boolean isBigEnough(ArrayList<?> list) { return list.size() > 42; }
이
모든 generics tutorial합니다 (wildcards 섹션 참조)에 적용됩니다.마지막으로, 형식 매개 변수가없는 ArrayList
은 raw type입니다. 허용되는 유일한 이유는 5 미만의 Java 버전과의 하위 호환성 때문이며 가능할 때마다 사용하지 않는 것이 좋습니다.
을 받아들이지 않기 때문에 새로운 관점이됩니다. –
Very nice. 일부 테스트 프로젝트에서 ArrayList를 사용하고있었습니다 (자습서에서 사용 된 것으로 나타났습니다). 테이크 어웨이는 항상
ArrayList<?>
는
ArrayList
"결정하는 형태를 포함하는 ArrayList
인스턴스"는 ArrayList
ArrayList<Object>
의 클래스 Object
종류 함유 ArrayList
의 인스턴스 수단. 이 (더)이에 좋은 쓰기 업을 할 수 있었던 것처럼
이 보인다 : http://docs.oracle.com/javase/tutorial/java/generics/types.html
나는 OP에서 Java에서 모든 것이 Object에서 확장되기 때문에 "결정되어야하는 유형"이 무엇을 의미하는지 묻는다고 생각하십니까? 이 목록은 프리미엄 – Victor
- 1. ArrayList 추가 ArrayList에 <String> ArrayList <ArrayList <String>>
- 2. ArrayList <Object <ArrayList <Object>
- 3. Transpose ArrayList <ArrayList <String>> in Java
- 4. ArrayList <ArrayList <String>> webservice의 매개 변수
- 5. ArrayList <ArrayList <String>> 중복 개체
- 6. Arraylist <CustomObject>
- 7. ArrayList 업데이트 <Station>의 값이 TreeMap <Integer, ArrayList><Station>>
- 8. 자바의 Iterable <Iterable<T>> 위해 ArrayList <ArrayList<T>>
- 9. 리스트에 Arraylist <t>?
- 10. 리스트에서 ArrayList <> 만들기
- 11. ArrayList <String> NullPointerException
- 12. <identifier> expected, arrayList
- 13. ASP.NET Arraylist <myobj>
- 14. 반전 ArrayList <String>
- 15. ArrayList <int[]> 값이
- 16. ArrayList <ArrayList <String>> "back"을 ArrayList로 변환 <String>
- 17. ArrayList <Object>을 ArrayList <String> 또는 ArrayList <Timestamp>으로 변환하려면 어떻게해야합니까?
- 18. 목록의 차이점은 무엇입니까 <String> stringList = new ArrayList <String>() 및 List <String> stringList = new ArrayList()?
- 19. Primefaces get DataTable (DataStructure ArrayList <ArrayList>)에서 행
- 20. ArrayList 을 ArrayList <MyObject>에 전송하는 좋은 방법입니까?
- 21. 중첩 된 Arraylist에 문자열을 추가하는 방법은 무엇입니까?</p> <pre><code>ArrayList<ArrayList<String>> row = new ArrayList<ArrayList<String>>(); ArrayList<String> column = new ArrayList<String>(); </code></pre> <p>내 문제는 내가 여기에 문자열을 추가 할 수 있습니다 :
- 22. 정렬 ArrayList <ArrayList <String>> 내부 ArrayList의 두 번째 항목
- 23. ArrayList <String[]>에서 java [
- 24. ArrayList <String> to CharSequence []
- 25. 목록 값의 차이 = new ArrayList(); ArrayList values = new ArrayList();
- 26. 정적 Hashtable <Leader, ArrayList <Integer>> assignedLeader = new Hashtable <Leader, ArrayList <Integer>> (20);
- 27. Arraylist of Arraylist ... C#
- 28. 원형 ArrayList (ArrayList 확장)
- 29. ArrayList using ArrayList
- 30. arraylist of arraylist of
'Java Generics'에 대해 읽는 시간 – anubhava
나는 일반적으로 매개 변수를 넣지 않는다. "가짜"generic. – texasbruce
@texasbruce 그건 정말 나쁜 생각입니다. – arshajii