Java常用类学习:包装类(重点看Integer的equals比较)

Java常用类学习:包装类

  • 一般的,当需要使用数字的时候,我们通常使用内置数据类型,如byte,int ,long ,double等

    int a=10;
    float b=12.4f;
    byte c=0x4a;
  • 然而,在实际开发中,我们经常会遇到需要使用对象,而不是内置数据类型;为了解决这个问题,Java语言为每个数据类型提供了对应的包装类;

  • 所有的包装类(Integer , Long ,Byte , Double ,Float ,Short)都是抽象类Number的子类;Number类属于java.lang包

包装类基本数据类型
Boolean boolean
Byte byte
Short short
Integer int
Long long
Character char
Float float
Double double
  • 这种由编译器特别支持的包装称为装箱;

    • 当内置数据类型被当作对象使用的时候,编译器会把内置数据类型装箱为包装类;反之为拆箱;

    • 自动装箱,自动拆箱;不需要强转;

       

  • 代码案例:

    public class NumberDemo01 {
      public static void main(String[] args) {


          Integer x=5;//自动装箱

          int y=x+5;//自动拆箱

          System.out.println(x);//5
          System.out.println(y);//10

      }
    }

     

  • 重点:Integer类重写了equals方法

    • Integer包装类:重写了equals方法:

      • 如果参数值>-128 && 参数值<127 ,则按==比较;也就是说,比较的是内存地址;

      • 如果参数值不在其中,则按value比较,也就是值比较;

     

  • 代码案例:Integer类重写了equals方法

    /**
    * 笔记:
    * Integer包装类:重写了equals方法:
    * 1,如果参数值>-128 && 参数值<127 ,则按==比较;也就是说,比较的是内存地址;
    * 2,如果参数值不在其中,则按value比较,也就是值比较;
    */
    public class Test {
       public static void main(String[] args) {


           Integer a1=225;
           Integer a2=new Integer(225);
           Integer a3=new Integer(225);

           System.out.println(a1==a2);//false
           System.out.println(a1.equals(a2));//true
           System.out.println(a2.equals(a3));//true



      }
    }

    /*
           Integer a1=5;

           Integer a2=new Integer(5);

           System.out.println(a1 == a2);//false
           System.out.println(a1.equals(a2));//true
    */

     

posted @   gzs1024  阅读(179)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示