常用API(一)

API概念

API:应用程序接口;是别人已经写好的一些程序,可以直接拿来调用,解决问题。

常用API

在这里插入图片描述

Object类

作用

所有类都是Object类的子类,所有类的对象都可以使用Object类的方法。

Object类常见方法

在这里插入图片描述

1.toString()

一般子类中都会重写toString方法:
1.直接在Generate中选择toString();
2.在子类中输入toS+回车。

2.equals()

直接调用equals()时是比较两个变量的地址;一般都会在子类中对equals()重写,比较两个对象的内容,一样返回true。

进行比较时:
1.首先比较对象地址;
2.接着比较两个比较者的数据类型;
3.比较对象的内容;

在这里插入图片描述

3.protected Obeject clone()(对象克隆)

Object类的clone()有protected权限修饰符,在子类中不能直接调用,需要进行方法重写。

浅克隆

在这里插入图片描述克隆出的对象与原对象的所有数据的地址相同。

深克隆

在这里插入图片描述

标记接口

implements Cloneable

实现标记接口后子类才能进行克隆方法,但在方法内部可能会有问题,java会报错来提醒我们,此时可以通过Alt+回车将错误抛出去。
在这里插入图片描述

Objects工具类

Objects是工具类,提供了很多操作对象的静态方法。

Objects类常见方法

在这里插入图片描述
假设 String s1 = null;
String s2 = “java”;

1.equals()
s1.equals(s2)VSObjects.equals(s1,s2)的区别

当两个对象中出现其中一个对象内容为null时,再进行比较时就会出现空指针异常;而调用Objects类的equals方法比较时则不会出现空指针异常的情况。

2.isNull()

图示两种方式无区别
在这里插入图片描述

3.nonNull()

在这里插入图片描述

包装类

概念

包装类就是将基本类型的数据包装成对象。
在这里插入图片描述
其中要注意:包装成Integer时不要使用已经过时的方案!在这里插入图片描述

自动装箱

概念

自己可以把基本类型的数据换成对象。

Integer a = Integer.valueof(12);

自动拆箱

概念

可以自动把包装类型的对象换成对应的基本数据类型。

好处

集合中只能存对象;
泛型和集合不支持基本数据类型,只能支持引用数据类型;
当一定要在集合中添加基本类型数据,就要使用包装类。
在这里插入图片描述

其他常见操作

1.将基本数据类型的数据转换成字符串在这里插入图片描述

三种将基本数据类型的数据转换成字符串的方法:

(1)在这里插入图片描述
(2)在这里插入图片描述

(3)在这里插入图片描述

2.可以把字符串类型的数值转换成数值本身对应的数据类型

注意:只能转换“20”类型的数值,不能是“20a”类型的数值。
在这里插入图片描述
在这里插入图片描述

注释起来的不推荐在这里插入图片描述

StringBuilder类

概念

StringBuilder代表可变字符对象,相当于是一个容器,它里面装的字符串是可以改变的,就是用来操作字符串的。

常用方法

在这里插入图片描述
假设:StringBulider s = new StringBulider();

1.append()——拼接内容

在这里插入图片描述

2.reverse()——反转内容

反转前:找好朋友玩
反转后:玩友朋好找

3.length()——返回对象内容长度

在这里插入图片描述

4.toString()——把StringBuilder对象又转换成String对象

在这里插入图片描述

重要特点——支持链式编程

正常情况下:
在这里插入图片描述

链式编程:
在这里插入图片描述

好处(相较于String)

StringBuilder比String更适合做字符串的修改操作,效率会更高,代码也会更简洁。

假设:拼接一百万次“abc”
使用String时:效率非常低;

public class test {
    //拼接一百万次“abc”
    public static void main(String[] args) {
        String s = "";
        for (int i = 0; i < 1000000; i++) {
            s += "abc";
        }
        System.out.println(s);
    }
}

使用StringBuilder时:运行效率高,直接出结果;

public class test {
    //拼接一百万次“abc”
//    public static void main(String[] args) {
//        String s = "";
//        for (int i = 0; i < 1000000; i++) {
//            s += "abc";
//        }
//        System.out.println(s);
//    }
    public static void main(String[] args) {
        StringBuilder s = new StringBuilder();
        for (int i = 0; i < 1000000; i++) {
            s.append("abc");
        }
        System.out.println(s);
    }
}

那么在处理对字符串相关的操作时,如频繁的修改,拼接等,建议使用SrungBulider,而不使用String,这样开发效率更高。

StringBuffer类

注意:

  1. StringBuffer和StringBuilder的用法是一模一样的;
  2. 但是StringBuffer时线程不安全的,StringBuilder是线程安全的。

StringJoiner类

好处

(相较于StringBuilder)更高效,更方便的拼接,代码更简洁。

常用API

在这里插入图片描述假设:StringJoiner s = new StringJoiner();
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值