泛型和包装类的理解及使用
一、泛型
1、泛型类是用一个占位符表示数据类型,达到定义一个类,但是参数可以是多种类型,例如String、 Integer等。
2、泛型类的定义
泛型类的定义和常用类的定义是相同的,知识用占位符表示数据类型。
class Box<T>{
private T t;
void set(T t){
this.t=t;
}
}
3、泛型的使用
泛型类的使用和常用类的使用也是相同的,都要实例化对象。泛型的参数不能是基本是基本数据类型(int 、char等)。
private String t;
t=new Box<String>();
t.set("wo");
4、泛型的功能
泛型主要用来用来定义数据类型的多变场合中,例如处理数据库中的密码,密码类型有的是int[]型的,有的是String型的。
二、约束类型变量
1、在使用泛型类的时候,会遇到不是所有的类都要适应类的需求,例如,定义一个点的坐标,只需要Integer、Double、Float等类型,String类在这是不需要的,这时候就要使用extends关键字实现约束类的定义了。
2、约束类的定义
class Point<T extends Number>
3、约束类的使用
约束类的使用及定义和泛型类的方法是一样的。
三、包装类
int,char、double等是基本数据类型,JAVA中为这些基本数据类型定义了包装类Integer,Double等.有了包装类我们可以把字符转化为数值,也可以把数值转化为字符。
例如:Integer i= new Integer(3);
String s =i.toString();
四、(Integer...)结构的理解及使用
Integer...的使用可以理解为C语言中的int*,指针类型。
int[]a=int[2];
save(a);或者save(a[0],a[1]);//可以通过数组或单个元素来传递参数
public void save(Integer... a){
if(a.lenth()>0){//求数组大小
int b=a[0];//可以向指针一样使用它
int c=a[1];
}
}
String、 Double、 Long,其他类等的用法和Integer是一样的。