使用泛型的好处,定义和使用含有泛型的类
使用泛型的好处:
创建集合对象,使用泛型好处:
1.避免了类型转换的麻烦,存储的是什么类型,取出的就是什么类型
2.把运行期异常(代码运行之后会抛出的异常),提升到了编译期(写代码的时候会报错)
弊端:泛型是什么类型,只能存储什么类型的数据
public class fanxing { public static void main(String[] args) { show(); } /** * 创建集合对象,使用泛型 * 好处: * 1.避免了类型转换的麻烦,存储的是什么类型,取出的就是什么类型 * 2.把运行期异常(代码运行之后会抛出的异常),提升到了编译期(写代码的时候会报错) * 弊端: * 泛型是什么类型,只能存储什么类型的数据 */ private static void show(){ ArrayList<String> list = new ArrayList<>(); list.add("abc"); //使用迭代器遍历list集合 Iterator<String> it = list.iterator(); while (it.hasNext()){ String next = it.next(); System.out.println(next+"->"+next.length()); } } }
定义和使用含有泛型的类:
定义一个含有泛型的类,模拟Arraylist集合
泛型是一个未知的数据类型,当我们不确定什么什么数据类型的时候,可以使用泛型
泛型可以接收任意的数据类型,可以使用Integer ,String,student. . .
创建对象的时候确定泛型的数据类型
定义格式:
修饰符 class 类名<代表泛型的变量>{ }
例如,API中的ArrayList集合:
class ArrayList<E>{
public boolean add(E e){ }
public E get(int index){ }
......
}
使用泛型:即什么时候确定泛型。
/** * 定义一个含有泛型的类,模拟ArrayList集合 * 泛型是一个未知的数据类型,当我们不确定什么什么数据类型的时候,可以使用泛型 * 泛型可以接收任意的数据类型,可以使用Integer,string, student. . . * 创建对象的时候确定泛型的数据类型 */ public class fanxinglei <E>{ private E name; public E getName() { return name; } public void setName(E name) { this.name = name; } }
public class fanxin { public static void main(String[] args) { //不与泛型默认为0bject类型 fanxinglei faxinglei = new fanxinglei(); faxinglei.setName("魔冰"); Object name = faxinglei.getName(); //创建fanxinglei对象,泛型使用Integer类型 fanxinglei<Integer> fanxinglei = new fanxinglei<>(); fanxinglei.setName(2); Integer name1 = fanxinglei.getName(); System.out.println(name1); //创建fanxinglei对象,泛型使用string类型 fanxinglei<String> fanxinglei1 = new fanxinglei<>(); fanxinglei1.setName("冰穆尼"); String name2 = fanxinglei1.getName(); System.out.println(name2); } }
浙公网安备 33010602011771号