創建student類
package cn.itcast_01;
public class Student {
private String name;
private int age;
public Student() {
super();
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package cn.itcast_01;
import java.util.ArrayList;
import java.util.Iterator;
/*
* ArrayList存儲自定義對象並遍歷
*/
public class ArrayListDemo2 {
public static void main(String[] args) {
// 創建集合對象
ArrayList array = new ArrayList();
// 創建學生對象
Student s1 = new Student("武松", 30);
Student s2 = new Student("魯智深", 40);
Student s3 = new Student("林沖", 36);
Student s4 = new Student("楊志", 38);
// 添加元素
array.add(s1);
array.add(s2);
array.add(s3);
array.add(s4);
// 遍歷
Iterator it = array.iterator();
while (it.hasNext()) {
Student s = (Student) it.next();
System.out.println(s.getName() + "---" + s.getAge());
}
System.out.println("----------------");
for (int x = 0; x < array.size(); x++) {
// ClassCastException 注意,千萬要搞清楚類型
// String s = (String) array.get(x);存的是student類型,卻強轉爲String類型,但是這裏不報錯,爲什麼?因爲這裏array.get(x)拿的是object類型,array.get(x)它以爲它是字符串呢,所以編譯不報錯,但是運行報 ClassCastException錯,叫類型轉換異常
// System.out.println(s);
Student s = (Student) array.get(x);
System.out.println(s.getName() + "---" + s.getAge());
}
}
}