0
点赞
收藏
分享

微信扫一扫

Java常用API详解(Object、Objects、StringBuilder、Math、System、BigDecimal)

Python百事通 2022-03-18 阅读 79

文章目录

常用API

Object

Object类的方法是一切---子类对象---都可以直接使用的,所以我们要学习Object类的方法。
一个类要么----默认继承了Object类,要么间接继承了Object类,Object类是Java中的----祖宗类。

Object类的常用方法:
在这里插入图片描述在这里插入图片描述问题引出

开发中直接输出对象,默认输出对象的地址其实是毫无意义的。
开发中输出对象变量,更多的时候是希望看到对象的内容数据而不是对象的地址信息。

toString存在的意义@@@@

父类toString()方法存在的意义就是为了被子类重写,以便返回对象的内容信息,而不是地址信息!!

Object的toString方法的作用是什么?

让子类重写,以便返回子类对象的内容。

在这里插入图片描述在这里插入图片描述在这里插入图片描述问题思考?

直接比较两个对象的地址是否相同完全可以用“==”替代equals。

equals存在的意义

父类equals方法存在的意义就是为了-->被子类重写,以便子类自己来定制比较规则。

Object的equals方法的作用是什么?

默认是与另一个对象比较地址是否一样
让子类重写,以便比较2个子类对象的内容是否相同。

在这里插入图片描述在这里插入图片描述

Objects

Objects常用的方法:
在这里插入图片描述对象进行内容比较的时候建议使用什么?为什么?

建议使用Objects提供的equals方法。
比较的结果是一样的,但是更安全。

在这里插入图片描述在这里插入图片描述

import java.util.Objects;

public class Test {
    public static void main(String[] args) {
        String s1 = null;
        String s2 = new String("heiMa");
        // String类型已经重写了equals方法, 比较的是内容,不是地址
        System.out.println(s2.equals(s1));   // false
        // System.out.println(s1.equals(s2));  // 由于s1 == null 所以程序会报错:java.lang.NullPointerException


        System.out.println(Objects.equals(s1, s2));  // 利用equals方法可以避免有null的错误

        // Objects中的静态方法isNull是否为空
        System.out.println(Objects.isNull(s1));  // true
        System.out.println(Objects.isNull(s2));  // false
    }
}

StringBuilder

StringBuilder概述

StringBuilder是一个可变的字符串类,我们可以把它看成是一个对象容器。
作用:提高字符串的操作效率,如拼接、修改等。

StringBuilder构造器
在这里插入图片描述StringBuilder常用方法
在这里插入图片描述测试代码:

public class StringBuilderDemo1 {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        // sb可以拼接任意类型的数据
        sb.append("a");
        sb.append(1);
        sb.append('c');
        sb.append(false);
        sb.append("abc");
        System.out.println(sb);  // a1cfalseabc
        System.out.println("------------------------");
        StringBuilder sb1 = new StringBuilder();
        // StringBuilder支持链式编程
        sb1.append(1).append("a").append('c');
        System.out.println(sb1);  // 1ac
        System.out.println("------------------------");
        // 反转
        sb1.reverse().append(100);
        System.out.println(sb1);  // ca1100
        System.out.println(sb1.length());  // 6
        System.out.println("------------------------");
        // 注意:StringBulider只是拼接字符串的手段,效率好
        // 最终的目的还是要通过toString函数恢复成String类型。
        StringBuilder sb2 = new StringBuilder();
        sb2.append("123").append("456");
        // 恢复成String类型
        String rs = sb2.toString();
        check(rs);  // 123456
    }
    public static void check(String date){
        System.out.println(date);
    }
}

String类拼接字符串原理图
在这里插入图片描述StringBuilder类拼接字符串原理图
在这里插入图片描述问题:为什么拼接、反转字符串建议使用StringBuilder?

String :内容是不可变的、拼接字符串性能差。
StringBuilder:内容是可变的、拼接字符串性能好、代码优雅。
定义字符串使用String
拼接、修改等操作字符串使用StringBuilder

Math

System

BigDecimal

BigDecimal作用:用于解决浮点型运算精度失真的问题
使用步骤:创建对象BigDecimal封装浮点型数据(最好的方式是调用方法)

public static BigDecimal valueOf(double val):   包装浮点数成为BigDecimal对象。

BigDecima常用API
在这里插入图片描述问题1:BigDecimal的作用是什么?

解决浮点型运算精度失真问题。

问题2:BigDecimal的对象如何获取?

BigDecimal b1 = BigDecimal.valueOf(0.1);
举报

相关推荐

0 条评论