Java_泛型

//泛型:定义一种模板,eg. 代码中创建泛型化集合类ArrayList<类型>
/*
1.Java 标准库提供的ArrayList,ArrayList内部就是一个Object[]数组
2. 向上转型
	ArrayList<Integer>和ArrayList<Number>两者完全没有继承关系。
4.泛型接口
	Arrays.sort(Object[]) 可以对任意数组进行排序,but 待排数组需要实现Comparable<T>这个泛型接口
5.
*/

//例子1:泛型的使用
public class ArrayList<T>{
	private T[] array;
	private int size;
	public void add(T e){
		...
	}
	public void remove (int index){...}
	public T get(int index){...}
}

//创建可以存储字符串的数组
ArrayList<String> strlist =new ArrayList<String>();//调用ArrayList 的构造函数
strlist.add(new Integer(123))//compile error

//创建可以存储Float的数组
ArrayList<Float> floatlist=new ArrayList<Float>();

//例子2:向上转型
public class ArrayList<T> implements List<T>{
	List<String> list=new ArrayList<String>();//ArrayList 向上转型变成List
}

//例子4:泛型接口
public interface Comparable<T>{
	int compareTo(T o);
}

//String本身实现了Comparable<T>泛型接口
String[] mystr=new String[]{'apple','banana'};
Arrays.sort(mystr);
Arrays.toString(mystr);


//当自己创建的类没有实现Comparable<T>泛型接口时,直接利用Array.sort(the instance of class),会报错
//重新定义
class Person implements Comparable<Person>{
	public int compareTo(Person other){
		return this.name.compareTo(other.name);
	}
}












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值