[자바/안드로이드] is a raw type. References to generic type Vector<E> should be parameterized
하지만, Vector 클래스와 관련해서 경고 메시지가 나온 것을 확인할 수 있다.
위에 있는 코드를 보면 벡터에서 사용할 객체의 타입이 정해지지 않았기 때문에 Integer 타입의 객체,
Character 타입의 객체, Double 타입의 객체 그리고 String 타입의 객체를 Vector에 담을 수 있었다.
하지만, 여러 종류의 객체를 담았기 때문에 벡터에서 데이터를 추출할 때, 객체에 존재했던 데이터의
타입을 일일이 확인해서 그에 따라 형변환을 해야 한다는 불편함이 있었다.
이처럼 프로그래밍을 하는 것은 안전하지 못한 방식이다.
만약, 벡터에 저장될 데이터의 종류가 모두 동일하다면, 벡터를 생성할 때, 사용하고자
하는 객체의 종류를 명시해야만 위와 같은 경고 메시지가 출력되지 않는다.
Vector<String> v = new Vector<String>(); 와 같이 <String> 자료형을 같이 선언했다.
벡터에서 사용할 객체를 지정했기 때문에 위에서 발생한 경고 메시지는 발생되지 않는다.
데이터를 저장하고 나중에 벡터에서 저장된 데이터를 확인할 때, 현재 벡터에 저장된
객체의 타입을 이미 알고 있기 때문에 별도로 타입을 확인하는 절차를 거치지 않아도 된다.
이처럼 프로그래밍을 하는 것은 안정성 높은 프로그램을 만드는 방식이다.
is a raw type. References to generic type Vector<E> should be parameterized
문제가 신경 쓰인다면 Vector 또는 ArrayList를 생성할 때, 반드시 자료형(타입)을 정하자
ex) ArrayList<String> list = new ArrayList<String>();
ex) ArrayList<Student> list = new ArrayList<Student>();
ex) ArrayList<Integer> list = new ArrayList<Integer>();
감사합니다 ^_^
'자바(JAVA)' 카테고리의 다른 글
[자바/안드로이드] 자바 문자열 비교하기(equals ==) (1) | 2015.07.03 |
---|---|
[자바/안드로이드] ArrayList 살펴보기 (0) | 2015.06.23 |
[자바/안드로이드] 벡터(Vector) 살펴보기 (1) | 2015.06.23 |
[자바/안드로이드] DataInputStream DataOutputStream알아보기 (0) | 2015.06.22 |
[자바/안드로이드] FileInputStream FileOutputStream 알아보기 (0) | 2015.06.22 |