2013-09-03 6 views
1

Stack, 그것은 정의 클래스 Stack<E> extends Vector<E> 자바의 제네릭 클래스이지만, 왜 형 Stack<Integer> s = new Stack<>(); 같은 매개 변수 그러나 Vector 캔 그것을 인스턴스화 할 수 없습니다 만들 수 없습니다 이유는 무엇입니까?자바 스택 (일반) 형식 매개 변수

+2

올바른 'Stack' 클래스를 찾고 계십니까? –

+2

자바 7에 있습니다. 맞습니까? Java 6에서는'... = new Stack ()'을 써야합니다. 컴파일러 출력물이 있습니까? – Fildor

+3

짧지 만 완전한 프로그램으로 이것을 재현 해보십시오. 나는 그렇게하려고 시도 할 때, 당신이 잘못하고있는 것을 해결할 것이라고 생각한다. (당신 자신의 비 제네릭 스택 클래스로 시도하는 것과 같이). –

답변

1

물론 가능합니다.

Stack<Integer> stack = new Stack<>(); 
+0

오! 같은 디렉토리에 Stack.java 파일을 만들었습니다. 그 이유가 여기에 있습니다. 하지만 java.util.Stack을 가져 오는데 왜 내가 만든 스택을 참조할까요? 감사합니다 – ethan

+0

나는 당신의 코드에 무엇이 잘못되었는지 확신하지 못합니다. 동일한 패키지에 Stack 클래스가 있고 다른 클래스에서 import java.util.Stack을 사용하더라도 올바른 (유틸리티) 스택입니다. –