常用API

一、Object类

1、Object类的作用:Object类是Java中所有类的祖宗类,因此,Java中所有类的对象都可以直接使用类中提供的一些方法。

2、Object类的常见方法:

方法名说明
public String toString()返回对象的字符串表示形式
public boolean equals(Object o)pan'duan'lian'ge'dui'xiang'shi'fou'xiang'den判断两个对象是否相等
Protected Object clone ()对象克隆

toString存在的意义:toString方法存在的意义就是为了被子类重写,以便返回对象的具体内容。

equals存在的意义:直接比较两个对象的地址是否完全相同可以用“==”替代equals,equals存在的意义就是为了被子类重写,以便子类自己来定制比较规则(比如比较对象内容)。

3、Object类提供的对象克隆方法

当某个对象调用这个方法是,这个方法会复制一个一模一样的新对象返回。

代码展示:

public class Test2 {
    public static void main(String[] args) throws CloneNotSupportedException {
        Student2 s2 = new Student2("01","zhangsan","wo666",new double[]{60,70,80});
        Student2 s3 = (Student2) s2.clone();
        System.out.println(s3.getId());
        System.out.println(s3.getName());
        System.out.println(s3.getPassword());
        System.out.println(s3.getScores());
        System.out.println("---------------------------");
        System.out.println(s2.getId());
        System.out.println(s2.getName());
        System.out.println(s2.getPassword());
        System.out.println(s2.getScores());
        String s1 = null;
        String s4 = "王森";
//        System.out.println(s1.equals(s4));
        System.out.println(Objects.equals(s1, s4));
        Integer a2 = Integer.valueOf(88);
        System.out.println(a2);
        String age = "23";
        int age1 = Integer.valueOf(age);
        System.out.println(age1+1);
        Integer age2 = 23;
        String age3 = Integer.toString(age2);
        System.out.println(age3+1);
        String scoreStr = "99.5";
        double score = Double.valueOf(scoreStr);
        System.out.println(score);
    }
}

浅克隆:拷贝出新的对象,与原对象中的数据一模一样(引用类型拷贝的只是地址)

深克隆:对象中基本类型的数据直接拷贝。

对象中的字符串数据拷贝的还是地址。

对象中包含的其他对象,不会拷贝地址,会创建新对象。

4、Objects

Objects是一个工具类,提供了很多操作对象的静态方法给我们使用。

Objects类的常见方法

方法名说明
public static boolean equals(Object a, Object b)先做非空判断,再比较两个对象
public static boolean isNull(Object obj)断对象是否为null,为null返回true ,反之
public static boolean nonNull(Object obj)判断对象是否不为null,不为null则返回true, 反之

5、包装类

包装类就是把基本类型的数据包装成对象。

基本数据类型对应的包装类

byte

Byte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean
基本类型的数据包装成对象的方案
public Integer(int value): 已过时
public static Integer valueOf(int i)

自动装箱:基本数据类型可以自动转换成包装类型。

自动拆箱:包装类型可以转换成基本数据类型。

6、包装类的其他常见操作

可以把基本类型的数据转换成字符串类型

public static String toString(double d)
public String toString()

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

public static int parseInt(String s)
public static Integer valueOf(String s)

7、StringBuilder

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

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

构造器说明
public StringBuilder()创建一个空白的字符串对象,不包含任何内容
public StringBuilder(String str)创建一个指定字符串内容的可变字符串对象
方法名称说明
public StringBuilder append(任意类型)添加数据并返回StringBuilder对象本身
public StringBuilder reverse()将对象的内容反转
public int length()返回对象内容长度
public String toString()通过toString()就可以实现把StringBuilder转换为String

SringBuilder与StringBuffer

注意:StringBuffer的用法与StringBuilder是一模一样的

但 StringBuilder是线程不安全的  StringBuffer是线程安全的

8、StringJoiner

JDK8开始才有的,跟StringBuilder一样,也是用来操作字符串的,也可以看成是一个容器,创建之后里面的内容是可变的。

好处:不仅能提高字符串的操作效率,并且在有些场景下使用他操作字符串,代码会更简洁。

构造器

说明
public StringJoiner (间隔符号)创建一个StringJoiner对象,指定拼接时的间隔符号
public StringJoiner (间隔符号,开始符号,结束符号)创建一个StringJoiner对象,指定拼接时的间隔符号、开始符号、结束符号
方法名称说明
public StringJoiner add (添加的内容)添加数据,并返回对象本身
public int length​()返回长度 ( 字符出现的个数)
public String toString​()返回一个字符串(该字符串就是拼接之后的结果)

二、Math

代表数学,是一个工具类,里面提供的都是对数据进行操作的一些静态方法。

Math类提供的常见方法

方法名说明
public static int abs​(int a)获取参数绝对值
public static double ceil​(double a)向上取整
public static double floor​(double a)向下取整
public static int round​(float a)四舍五入
public static int max​(int a,int b)获取两个int值中的较大值
public static double pow​(double a,double b)返回a的b次幂的值
public static double random​()返回值为double的随机值,范围[0.0,1.0)

三、System

System代表程序所在的系统,也是一个工具类。

System类提供的常见方法

方法名说明
public static void exit​(int status)终止当前运行的Java虚拟机。
public static long currentTimeMillis​()    返回当前系统的时间毫秒值形式

时间毫秒值

指的是从1970年1月1日       00:00:00走到此刻的总的毫秒数,应该是很大的。1s=1000ms

四、Runtime

代表程序所在的运行环境

Runtime是一个单例类

Runtime类提供的常见方法

方法名说明
public static Runtime getRuntime()返回与当前Java应用程序关联的运行时对象
public void exit​(int status)终止当前运行的虚拟机
public int availableProcessors()返回Java虚拟机可用的处理器数。
public long totalMemory()返回Java虚拟机中的内存总量
public long freeMemory()返回Java虚拟机中的可用内存
public Process exec​(String command)启动某个程序,并返回代表该程序的对象

五、BigDecimal

用于解决浮点型运算时,出现结果失真的问题。

BigDecimal的常见构造器、常用方法

构造器说明
public BigDecimal(double val)  注意:不推荐使用这个将 double转换为 BigDecimal
public BigDecimal(String val) 把String转成BigDecimal

方法名说明
public static BigDecimal valueOf(double val)转换一个 double成 BigDecimal
public BigDecimal add(BigDecimal b)加法
public BigDecimal subtract(BigDecimal b)减法
public BigDecimal multiply(BigDecimal b)乘法
public BigDecimal divide(BigDecimal b)除法
public BigDecimal divide (另一个BigDecimal对象,精确几位,舍入模式)除法、可以控制精确到小数几位
public double doubleValue()将BigDecimal转换为double

六、JDK8之前传统的日期、时间

1、Date

代表的是日期和时间

构造器说明
public Date()创建一个Date对象,代表的是系统当前此刻日期时间。
public Date(long time)把时间毫秒值转换成Date日期对象。
常见方法说明
public long getTime()返回从1970年1月1日    00:00:00走到此刻的总的毫秒数
public void setTime(long time)设置日期对象的时间为当前时间毫秒值对应的时间

2、SimpleDateFormat

代表简单日期格式化,可以用来八日起对象、时间毫秒值格式化成我们想要的形式。

常见构造器说明
public SimpleDateFormat​(String pattern)创建简单日期格式化对象,并封装时间的格式
格式化时间的方法说明
public final String format(Date date)将日期格式化成日期/时间字符串
public final String format(Object time)将时间毫秒值式化成日期/时间字符串

SimoleDateFormat解析字符串时间成为日期对象

解析方法说明
 public Date parse​(String source)把字符串时间解析成日期对象

3、Calendar

代表的是系统此刻时间对应的日历。

通过它可以单独获取、修改时间中的年、月、日、时、分、秒等。

Calendar日历类的常见方法

方法名说明
public static Calendar getInstance()获取当前日历对象
public int get(int field)获取日历中的某个信息。
public final Date getTime()获取日期对象。
public long getTimeInMillis()获取时间毫秒值
public void set(int field,int value)修改日历的某个信息。
public void add(int field,int amount)为某个信息增加/减少指定的值

注意:Calendar是可变对象,一旦修改后对象本身表示的时间将产生变化。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值