【Java程序设计】第六章:泛型、集合

泛型

泛型本质上讲是指参数化类型

  • 参数化类型允许创建这样一些类、接口或方法,其所操作的数据类型被指定为一个参数。
  • 即类、接口、方法中所用的变量类型由一些参数所指定。
  • 我们把这样的参数叫做类型参数
public class GenericsDemol{
   
	public static void main(String[] args){
   
	//如果没有集合指定类型,默认为所有的数据类型都是Object类型。此时可以往集合添加任意的数据类型。
	//带来一个坏处:再获取数据的时候,无法使用它的特有行为。
	//此时推出泛型,可以再添加数据的时候把类型进行统一,而且在获取数据的时候,无需强转。

	//1. 创建集合的对象
	ArrayList list = new ArrayList();

	//2. 添加数据
	list.add(123);
	list.add("aaa");
	list.add(new Student("zhaangsan",123));
	
	//3. 遍历集合获取里面的每一个元素
	Iterator it = list.iterator();
	while(it.hasNext()){
   
		Student str = (Student) it.next();//强转成学生类
		//多态的弊端时不能访问子类的特有功能
		//obj.length();
		//str.length();
		System.out.println(str);
	}

## 泛型类的声明
class 泛型类名称<泛型列表>
- 泛型列表的泛型可以实成员变量的类型,方法的类型即局部变量的类型
```java
class Chorus <E, F> {
   
 void makeChorus(E person,F yueqi){
     		         
               yueqi.toString(); 
              person.toString();}
     }
  • 使用泛型类声明一个对象
Chorus <Student, Button> model;
Model = new Chorus <Student, Button>();

当编写一个类的时候,如果不确定类型,那么这个类就可以定义

public class MyArrayList<E>{
   

	Object[] obj = new Object[10];
	int size;

//E:表示不确定的类型,该类型在类名后面已经定义过了。
//e:形参的名字,变量名
	public boolean add<E e>{
   
		obj[size] = e;
		size++;
		return tru
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值