Java包装类和泛型

目录

包装类

装箱和拆箱

装箱

拆箱

泛型

初始泛型


包装类

包装类是基本数据类型对应的引用类型,这样就可以使基本数据类型也有面向对象编程的能力

在java中基本类型不是继承于object,为了能在泛型代码中支持这些基本数据类型,java就给每个基本数据类型设置了一个对应的包装类

扫描二维码关注公众号,回复: 15741983 查看本文章
基本数据类型对应的包装类
基本数据类型 包装类
int Ingeter
float Float
double Double
short  Short
long Long
byte Byte
char Character
boolean Boolean

除了int和char之外,其他都是首字母大写

装箱和拆箱

装箱

把基本数据类型转为对应的包装类

Integer a = Integer.valueOf(10);   //装箱操作   把基本数据类型10变为引用数据类型
Integer a1 = 10; //自动转箱 ,帮我们自动完成装箱操作

拆箱

把包装类转为对应的基本数据类型

int b = a.intValue();   //拆箱
double d = a.doubleValue();   //可以根据我们需要的类型选择拆箱后的数据类型
int c = a;  //自动拆箱
double d1 = (double)a;  //可以根据我们需要的类型选择拆箱后的数据类型

Integer 的大小需要注意:

当数值在-128到127之间是使用的Integer包装类中数组里面的值

当超过-128到127之后,就会new一个新的integer对象

Integer a = 120;
Integer b = 120;
System.out.println(a==b);  //true   

Integer c = 128;
Integer d = 128;
System.out.println(c==d);   //false


泛型

指定一个类的参数,将数据类型参数化

数据类型参数化之后,让编译器去做检查

初始泛型

class MyArray <E> {  //泛型类

    public Object[] objects = new Object[3];
    public E get(int pos) {
        return (E)objects[pos];
    }
    public void set(int pos,int val) {
        objects[pos] = val;
    }
}

public class test {
    public static void main(String[] args) {
       MyArray<Integer> myArray = new MyArray<Integer>(); //将数据类型参数化
        myArray.set(0,1);
        myArray.set(1,2);
        myArray.set(2,3);
        int integer = myArray.get(1);
        System.out.println(integer);

    }
}

最大的作用就是指定当前类要持有什么类型的对象,让编译器去做检查

在存储数据的时候,可以帮我们自动进行类型的检查

获取元素的时候,可以帮我们进行类型转换

猜你喜欢

转载自blog.csdn.net/qq_63525426/article/details/129406651