Java学习14--泛型

 泛型:标识着集合中保存的元素
 <泛型(类型)>
 好处:
 1.操作数据更加安全(规范集合中 能保存的数据)
 2.可以避免向下转型(强转类型)的麻烦
 3.将运行时的错误 转到编译时报错
 
private static void fun2() {
		// 不加泛型 集合中保存三个学生
		ArrayList<Student> list = new ArrayList<>();
		list.add(new Student("aa",11));
		list.add(new Student("aa",12));
		list.add(new Student("aa",13));
		// 从集合中取出一个元素
		Object object = list.get(0);
		Student student = (Student) object;
		System.out.println(student.getName());
		// 从集合中取出一个元素 强转成工人类型
		// 调用工人的工作方法
		// 不加泛型 获取到集合中的元素
		// 元素的类型 可以随便强转 没有约束 编译会通过

 泛型类:可以在类中 使用泛型

private static void fun1() {
		// 泛型 前后要一致
		// jdk 菱形泛型 后面的类型可以省去
		ArrayList<String> list = new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		// 遍历集合
		ListIterator<String> Iterator = list.listIterator();
		// 正向遍历
		while (Iterator.hasNext()) {
			String string = Iterator.next();
			System.out.println(string);	
		}
		// 逆向遍历
		while (Iterator.hasPrevious()) {
			// 获取前一个元素
			String previous = Iterator.previous();
			System.out.println(previous);
		}
	}
泛型
? extends E
问号是子类 E是父类
只能使用父类的子类 或本类

也叫 向下限定

泛型类
在类的声明 添加一个泛型
使用字母 有含义
这个泛型 可以在类中使用

一个类中 可以存在
如果在方法中 声明新的泛型
该泛型会在方法被调用的时候 赋值泛型
需要在方法中 声明出来泛型

类上声明的泛型
会在创建对象的时候 ,被赋值真正的类型
 
 静态方法
 不能使用 类声明上的泛型
 直接使用类型调用静态方法的时候
 没有对象的创建 泛型还没有被赋值
 使用泛型可以 单独声明一下(static后面)

public class Worker<E> {
	// 成员变量
	private E e;
	// 成员方法
	public  E getE(){
		return e;
	}
	public void setE(E e){
		this.e = e;
	}

	public void work(){
		System.out.println(e);
		System.out.println("我在工作");
	}
}
多参数的参数
int ...num 这个参数 可以看成是一个数组
可以当做数组 来遍历
使用方法 1.直接传一个数组 2.传多个数 用逗号分开
注意:多个参数时 最好把 多参数放到最后nt ...num 这个参数 可以看成是一个数组
可以当做数组 来遍历
使用方法 1.直接传一个数组 2.传多个数 用逗号分开

注意:多个参数时 最好把 多参数放到最后

public static void fun4(int a ,int ... num){
		for (int i = 0; i < num.length; i++) {
			System.out.println(num[i]);
		}
	}

猜你喜欢

转载自blog.csdn.net/yanxinrui1995/article/details/80398269
今日推荐