728x90
[4] 아래의 코드에는 문제가 있습니다. 코드에 대한 문제에 답변해주세요.
public static void main(String[] args) {
ArrayList datas = new ArrayList();
for(int i = 1; i <= 5; i++) {
datas.add(i); // [1, 2, 3, 4, 5]
}
int total = 0;
for(int v : datas) {
total += v;
}
System.out.println("total: " + total); // total: 15
}
- Type mismatch: cannot convert from element type Object to int
- 2번 라인에서 ArrayList선언시 타입을 명시하지 않았기 때문에 Object로 선언되었습니다. 하지만 7번라인에서 ArrayList의 값을 뽑아낼 때 자료형이 맞지 않기 때문에 에러가 발생합니다.
- 해결방법
- 2번 라인에서 ArrayList선언시 <Integer>제네릭을 사용합니다.
public static void main(String[] args) {
ArrayList<Integer> datas = new ArrayList<Integer>(); // <Integer>제네릭 작성
for(int i = 1; i <= 5; i++) {
datas.add(i); // [1, 2, 3, 4, 5]
}
int total = 0;
for(int v : datas) {
total += v;
}
System.out.println("total: " + total); // total: 15
}
728x90