從零雙排java之泛型

                                    泛型

泛型的作用:標識集合中保存的元素

 * 好處:

 * 1.操作數據更加安全(規範集合中能保存的數據)

 * 2.可以避免向下轉型(強轉類型)的麻煩

 * 3.將運行時的錯誤轉到編譯時報錯


ArrayList<Student> list = new ArrayList<Student>();
		list.add(new Student("肖鋒", 11));
		list.add(new Student("坤", 52));
		list.add(new Student("大海", 22));
		// 從集合中取出一個元素
		Object object = list.get(0);
		Student student = (Student) object;
		System.out.println(student.getName());
		// 從集合中取出一個元素 強轉成 工人類型 調用工人的方法
		// 不加泛型 獲取到集合中的元素 元素的類型你可以隨便強轉
		// 沒有約束 編譯都會通過
		// 加上泛型 可以在編譯時 有錯誤提示 讓集合中保存的元素更加安全

泛型的另一種寫法

 * ? extends E

 * 問號是子類  E是父類  

 * 只能使用父類的子類  或者本類  也叫 向下限定

	// 創建一個person集合 保存兩個person
		ArrayList<Person> list1 = new ArrayList<>();
		list1.add(new Person("wang1", 11));
		list1.add(new Person("wang2", 11));
		// 常見一個student 集合 保存兩個student
		ArrayList<Student> list2 = new ArrayList<>();
		list2.add(new Student("peng1", 21));
		list2.add(new Student("peng2", 21));
		// addAll(Collection<? extends E> c)
		list1.addAll(list2);
		list2.addAll(list1); //向子類中添加父類的集合  這時就會報錯

		System.out.println(list1);






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章