Object类和常用API

目录

一、Object类

二、时间日期类

1.Date类

2.DateFormat类

3.Calendar类

三、System类

1.两个常用的静态方法

四、StringBuilder类

1.String在拼接字符串时的性能问题

2.StringBuilder的介绍

3.构造方法和常用方法

五、包装类

1.八种基本数据类型对应的包装类

2.自动拆箱和自动装箱

3.解析字符串

4.基本类型转换为字符串


一、Object类

1.特点:所有类的根类,所有类都会直接或者间接的继承Object类。

2.toString方法:返回该对象的字符串表示。

默认的字符串表示格式:包名.类名@地址值

注意:打印对象时,实际上JVM先调用对象的ToString获取到返回值,再打印。

3.equals方法:

public boolean equals(Object obj)

判断其他某个对象是否与此对象相等"

a.默认的equals方法,比较是两个对象的地址值

b.我们在发开中, 一般会重写equals方法,比较两个对象的内容是否相同

4.Objects类

Objects类是一个工具类( 不是根类!!!)

判断两个字符是否内容相等

字符串1.equals(字符串2);//可能会出现空指针

Objects.equals(字符串1,字符串2);//空指针容忍的

代码练习

public class ToStringTest{
    static int i = 1;
    public static void main(String args[]){
        System.out.println("love " + new ToStringTest());//love java
        ToStringTest a = new ToStringTest();
        a.i++;
        System.out.println("me " + a.i);//me 2
    }
    public String toString(){
        System.out.print("I ");//I
        return "java ";
    }
}

运行结果:I love java    me 2

原因:当执行代码的时候,首先加载静态变量,然后执行main方法,由于main方法内部第一行代码为输出语句,里面new了此类对象,当执行此行代码时会先创建了本类的对象,由于此类重写了toString方法,会先执行toString方法的打印输出,然后返回“java ”,再执行main方法第一行打印输出。在Java中“System.out.println(类对象名);”实际输出的是该对象的toString()方法返回的字符串,即括号中的内容等价于类对象名.toString(),toString方法的好处是在碰到println方法的时候会被自动调用,不用显示的写出来。

二、时间日期类

1.Date类

构造:

public Date();//当前系统时间

Public Date(long time);// //代表距离标准时间 time毫秒后的时间点

成员方法:

public long getTime();//获取当前Date对象 距离标准时间的毫秒值

2.DateFormat类

构造:

public SimpleDateFormat(String pattern);//以指定的模式,创建一个日期格式化对象

成员方法:

public String format(Date date);//把Date对象 格式化成 符合模式的字符串

public Date parse(String time);//把符合格式的字符串 解析回 Date对象

Eg:SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd HH-mm-ss”);

3.Calendar类

获取方式:

通过Calendar的一个静态方法直接获取子类对象

public static Calendar getInstance()

常用方法:

public int get(int filed);//根据成员变量的编号,获取该成员变量的值

public void set(int field,int value);//修改指定编号的成员变量的值

public void add(int field,int amount);//增加指定编号的成员变量的值

三、System类

1.两个常用的静态方法

public static long currentTimeMillis():获取当前时间距离标准时间的毫秒值

//和 new Date().getTime()是一样的效果

public static void arraycopy(源数组,起始索引,目标数组,起始索引,元素个数)

四、StringBuilder类

1.String在拼接字符串时的性能问题

String是不可变的,每次拼接时都会创建新的String对象,导致性能极低

2.StringBuilder的介绍

StringBuilder是可变的字符串,每次拼接字符串时,直接在原有字符串后面继续追加

当StringBuilder底层字符数组不够用,会自动扩容

3.构造方法和常用方法

构造:

public StringBuilder();//空的StringBuilder对象

public StringBuilder(String str);//有参的StringBuilder对象

成员方法:

public StringBuilder append(任意类型);拼接字符串,

返回StringBuilder本身对象,支持链式编程

public String toString();//返回StringBuilder的内容,以String类型返回的

在开发中,如果是拼接字符串,使用StringBuilder

拼接完毕之后,先转成String,再打印

五、包装类

1.八种基本数据类型对应的包装类

byte Byte

short Short

char Character

int Integer

long Long

float Float

double Double

boolean Boolean

2.自动拆箱和自动装箱

3.解析字符串

Integer.parseInt("100");

Double.parseDouble("3.14");

Boolean.parseBoolean("false");

4.基本类型转换为字符串

最简单:

10+"";

StringBuilder:

new StrngBuilder().append(10).toString();//得到结果 "10"

通过String的静态方法

String.valueOf(10);// 返回一个 String对象

猜你喜欢

转载自blog.csdn.net/fy_java1995/article/details/81836889