Java中的常用类

API

概念:API是应用程序编程接口,指的是java中原来就提供的类和接口中的接口

但一般所说的API指的是API文档,该文档对官方提供的类与接口会进行一个说明,供开发人员学习使用

使用API查阅类的时候可以使用关键字进行查阅,但是在系统化学习的时候尽量还是按照包名来查找

常用类

基本的包装类

在java语言中,提供了八种基础的数据类型,分别是byte,short,int,long,float,double,boolean,char,在目前的阶段实际应用是都是通过声明该类型的变量进行使用,这八种使用方式并不是面向对象的,在使用起来会造成不便,为了解决这种不足,java提供八种不同的包装类来代表这八种数据类型,Short,Integer,Long,Float,Double,Char,Boolean八个类被称为包装类

包装类的主要用途:

● 作为和基本数据类型对应的类类型存在。 ​ ● 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

包装类中的常用方法:

八种包装类中的方法时类似的,故以Integer类为代表说明

1.intValue()方法(byteValue(),floatValue(),shortVlaue()……):以int(或者其他形式)返回对象中的属性值

2.compareTo()方法:比较两个对象中包含的基本类型值的大小

3.Integer 变量名称 =new Integer(int 变量名(String 变量名))用构造方法将int型或者String型的数据对属性初始化赋值

4.Integer.valueOf()方法也是用来创建Integer对象并赋予初始值的方法

        /*
        包装类
        对应八种基本数据类型的代表的类,包装类
         */
        int a =10;
        Integer b1=new Integer(10);//Integer类对应int型,其中包含一个int型的属性常量,还有很多对对int型数据的操作方法与常量
        int c=b1.intValue();//从对象中返回一个int类型值的方法
        float f=b1.floatValue();//返回一个float类型的值
        Integer b2=new Integer(20);
        Integer b3=Integer.valueOf(20);
        System.out.println(b2.compareTo(b1));//使用两个不同对象中的属性进行比较,<返回-1,=返回0,>返回1
​
        //Integer包装类中的静态方法与静态常量
        System.out.println(Integer.MAX_VALUE);//表示int数据类型的最大值
        System.out.println(Integer.MIN_VALUE);//表示int数据类型的最小值
        System.out.println(Integer.max(10,20));//返回两个int型数据中较大一个
        System.out.println(Integer.min(10,20));//返回两个int型数据中较小一个
        System.out.println(Integer.toBinaryString(5));//将int型数据转换为二进制数
        System.out.println(Integer.toOctalString(50));//将int型数据转换为八进制数
        System.out.println(Integer.toHexString(300));//将int型数据转换为16进制数

数据的装箱与拆箱

与字面意思类似,装箱的意思就是将基本数据类型转换成对应的包装类,拆箱是指将包装类转换为基本数据类型下面以Integer类型为例进行示范

装箱的语法格式:

Integer 变量名=new Integer(int m);

Integer 变量名=new Integer(String s);

Integer 变量名=Integer.valueOf(int m);

拆箱的语法格式:

int m=对象名.intvalue;

int m=Integer.parseInt(String s);//将String类型转换为int类型//实际上在装箱的第二条语法中的底层调用的就是该方法

自动的装箱与拆箱:

自动装箱:int x=10;

Integer y=x;//自动转换为包装类的类型,实际上在底层调用的是valueOf()方法

自动拆箱:Integer x=new Integer(10);

int y=x;//自动转换为基本数据类型,实际上在底层调用的是intValue()方法

        /*
        自动的装箱与拆箱
         */
        Integer x=new Integer(10);
        int y=x;//自动将包装类型转换为了基本数据类型,实际上底层调用的是intValue方法
        System.out.println(y);
​
        int a=10;
        Integer b=a;//自动将基本数据类型转换为了包装类型,实际上底层调用的是valueOf方法
        System.out.println(b);
​

除此之外需要注意一下valueOf方法使用时的差异:

        /*
        装箱过程中的数据类型转换
         */
        Integer x=new Integer(10);
        Integer y=new Integer(10);
        System.out.println(x==y);//由于是创建了两个对象,而两个对象的地址并不相同,故返回值为flase
​
        //利用valueOf方法装箱过程中的差异
        Integer a=Integer.valueOf(10);
        Integer b=Integer.valueOf(10);
        System.out.println(a==b);//返回值为true,是由于valueOf方法中已经缓存了-128至127的对象,
                                 // 故如果使用valueOf方法装箱,在上述区间内装箱同一值会返回同一个对象,
                                 //而超过这个区间就会新创建一个对象
​
        Integer c=Integer.valueOf(128);
        Integer d=Integer.valueOf(128);
        System.out.println(c==d);//返回值为false
​
        System.out.println(c.equals(d));//利用equals方法可以比较包装类中的属性值
​
​

在valueOf()方法中已经定义好了区间在-128—127中对应的每一个包装类对象(为了缓存调用),此时如果使用valueOf方法装箱,在上述区间内装箱同一值会返回同一个对象,但是超过这个区间调用该方法就会创建新的对象

Object类

● Object类是所有Java类的祖先(根基类)。每个类都使用 Object 作为超类(父类)。所有对象(包括数 组)都实现这个类的方法。 ​ ● 如果在类的声明中未使用extends关键字指明其基类,则默认基类为

● Object类可以实现多态

Object类 ​ public class Person { ... } 等价于: ​ public class Person extends Object { ​ ... ​ }

Object中常用的方法: public String toString()

toString( )方法:将任意形式的数据转换为String类型的形式,该方法的底层实现是将对象内存中的地址(哈希值)转换为十六进制的数

在输出对象时,对象会默认调用类中的toString()方法

        //Object类中的方法
        public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }
​
//应用
    public static void main(String[] args) {
        /*
        Object类中的常用方法:
        toString()方法,将xxx转换为String类型的形式
         */
        Car car=new Car("奔驰",500000);
​
        System.out.println(car);//com.yzl.javaapi.obj.Car@16d3586,自动调用父类中的toString方法将哈希值的地址直接转换为十六进制数
        //若是想要直接输出对象中的内容则可以重写O
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值