2012-05-26 1 views
-3

사용하여 동일한 할 수있는 방법을 사용할 수 있지만 일반을 사용하여 동일하게 수행 할 수 있습니다.나는 ArrayList를을 만들고 방법과 동일하거나 인스턴스를 사용하는 경우에만 문자열과 정수 객체를 저장하려고 시도하지만, 우리는 내가 ArrayList를을 만들고 동일하거나 인스턴스를 사용하는 경우에만 문자열과 정수 객체를 저장하려고 시도 일반

+1

무엇이 당신의 질문입니까? 너 뭐 해봤 니? –

+0

제네릭의 요점은 하나의 유형 만 목록에 저장할 수 있다는 것입니다. –

답변

1

아니요. generics는 상속에 의존하여 코드 유형을 안전하게 만듭니다. 공통 수퍼 클래스가 필요합니다. 자신 만의 컬렉션을 작성하고 싶지 않으면 추가하려는 개념을 추상화하는 고유 한 클래스를 만드는 것이 좋습니다. 목록의 문자열과 정수가 접미어를 나타내는 경우 (예를 들어) 그런 다음 문자열 또는 정수를 보유하고 찾고있는 객체에 공통적 인 동작을 제공하는 클래스 Suffix을 만듭니다. 이렇게하면 목록에 Suffix 개의 개체가 허용됩니다.

1

우선,이 하이브리드 ArrayList의 목적은 무엇입니까? 어떻게 그 이름을 지을거야? 어쨌든, 귀하의 질문으로 돌아가서, 대답은 우리가 할 수있는 (방식으로)하지만 바람직하지 않습니다 이럴거야.

class Holder { 
    String strValue; 
    Integer intValue; 
} 
List<Holder> alist = new ArrayList<Holder>(); 

아이디어가 있습니다. ;)

+1

'ArrayList'를 직접 선언하지 말자. (가능하다면)'List '을 사용하고 인스턴스에는'ArrayList '을 사용한다. –

+0

네, Luiggi가 맞습니다. 나는 진짜 코드로 그것을하지 않는다. 내가 안 믿어. : D –

+0

좋습니다! 당신이 그것을하지 않는다면, 대답으로 게시하거나, 올바른 방법으로 일을하도록 가르쳐주십시오 :). –

관련 문제