一、java的包装类
什么是包装类
对于基本数据类型来讲,其实就是一个数字,但是当给基本数据类型添加一些属性 方法和构造器,将基本数据类型对应进行一个封装,就产生了一个新的类,这个类被称为是包装类。
那么基本数据类型在前面中讲过有byte short int long float double char boolean,也就是将这些进行封装,基本数据类型和包装类的对应关系是怎样的呢?
| 基本数据类型 | 对应的包装类 | 
| byte | Byte | 
| short | Short | 
| int | Integer | 
| long | Long | 
| float | Float | 
| double | Double | 
| char | Char | 
| boolean | Boolean | 
二、Integer包装类
2.1 Integer类的基本介绍
Integer包装类,是通过int基本数据类型进行封装得到的,可以通过查看java的API说明文档得到它的基本信息:

Integer包装类在java.lang中,这将意味着可以直接使用,不需要进行导包

Integer类被final修饰符修饰,那么这个类不可以有子类,不能被继承。
2.2 Integer类的属性

package cn.zhz.Instance;
public class Test02 {
    public static void main(String[] args) {
        //属性
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
        //物极必反:超出了Int类型的范围
        System.out.println(Integer.MAX_VALUE + 1);
        System.out.println(Integer.MIN_VALUE - 1);
    }
}
2.3 Integer类的构造器

package cn.zhz.Instance;
public class Test03 {
    public static void main(String[] args) {
        Integer i1 = new Integer(13);
        System.out.println(i1.toString());
        Integer i2 = new Integer("12");
        System.out.println(i2);
    }
}
三、自动装箱和自动拆箱
package cn.zhz.Instance;
public class Test04 {
    public static void main(String[] args) {
        //自动装箱:int-->Integer
        Integer i = 12;
        System.out.println(i);
        //自动拆箱:Integer-->int
        Integer i2 = new Integer(123);
        int num = i2;
        System.out.println(num);
    }
}
四、Integer包装类的方法
| 类型 | 方法 | 方法的说明 | 返回值 | 
| int | compareTo() | 比较两个整数对象的数值。 | 只返回三个值,要么是0 -1 1 | 
| boolean | equals() | 将此对象与指定对象进行比较。 | 返回true或者是false | 
| int | intValue() | 以整数形式返回此整数的值。 | |
| static int | parseInt() | 将输入的String类型的数据转换成int类型的数据 | |
| String | toString() | 返回表示此整数值的字符串对象。 | 
package cn.zhz.Instance;
public class Test05 {
    public static void main(String[] args) {
        //compareTo():只返回三个值,要么是0 -1 1
        Integer i1 = new Integer(6);
        Integer i2 = new Integer(12);
        System.out.println(i1.compareTo(i2));//return (x < y) ? -1 ((x == y) ? 0 : 1)
        //equals():Integer是对object中的equals方法进行了重写,比较的是底层封装的那个value的值
        //Integer对象是通过new关键字来创建对象
        Integer i3 = new Integer(12);
        Integer i4 = new Integer(12);
        System.out.println(i3 == i4);//false 因为==比较的是两个对象的地址
        boolean flag = i3.equals(i4);
        System.out.println(flag);
        //Integer对象是通过自动装箱来完成的
        Integer i5 = 12;
        Integer i6 = 12;
        System.out.println(i5.equals(i6));//true
        System.out.println(i5 == i6);
        /*
         * 如果自动装箱在-128~127之间,那么比较的就是具体的数值,否则,比较的就是对象的地址
         * */
        //intvalue():
        Integer i7 = 130;
        int i = i7.intValue();
        System.out.println(i);
        //parseInt(String s):String -->int
        int i8 = Integer.parseInt("12");
        System.out.println(i8);
        //toString():
        Integer i10 = 130;
        System.out.println(i10.toString());
    }
}
			
	声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
		
评论(0)