JAVA进阶知识学习-day01 Object类&Date类&System类

JAVA进阶知识学习-day01 Object类&Date类&System类2 Object类中包含的方法—— toString方法。3.2 使用技巧:在IntelliJ IDEA中,可以使用Code菜单中的Genera

大家好,欢迎来到IT知识分享网。

一、Object类

1.1 java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。 如果一个类没有特别指定父类, 那么默认则继承自Object类。

1.2 Object类中包含的方法—— toString方法

1.2.1 public String toString() :返回该对象的字符串表示,该字符串内容就是对象的类型+@+内存地址值。由于toString方法默认返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。

1.2.2 使用技巧:在IntelliJ IDEA中,可以点击Code菜单中的Generate… ,也可以使用快捷键alt+insert ,点击toString()选项。选择需要包含的成员变量并确定,即可完成重写。

1.3 Object类中包含的方法——equals方法

1.3.1 public boolean equals(Object obj) :指示其他某个对象是否与此对象“相等”。默认进行==运算符的对象地址比较,只要不是同一个对象,结果必然为false。 如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以覆盖重写equals方法。

1.3.2 使用技巧:在IntelliJ IDEA中,可以使用Code菜单中的Generate… 选项,也可以使用快捷键alt+insert ,并选择equals() and hashCode()进行自动代码生成。

1.4 Objects类

1.4.1 JDK7中添加了一个Objects工具类,它提供了一些方法来操作对象,用于计算对象的hashcode、返回对象的字符串表示形式、比较两个对象。 在比较两个对象的时候,Object的equals方法容易抛出空指针异常,而Objects类中的equals方法就优化了这个问 题。

1.4.2 public static boolean equals(Object a, Object b) :判断两个对象是否相等。

二、日期时间类

2.1 Date类: java.util.Date类表示特定的瞬间,精确到毫秒。

2.1.1 Date类的构造方法:

public Date() :分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 public Date(long date) :分配Date对象并初始化此对象,以表示自从标准基准时间( 1970年1月1日8时0分0秒)以来的指定毫秒数。

2.1.2 Date类包含的方法:

public long getTime() 把日期对象转换成对应的时间毫秒值。

2.2 DateFormat类:java.text.DateFormat是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。

2.2.1DateFormat类的构造方法:由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat

public SimpleDateFormat(String pattern) :用给定的模式和默认语言环境的日期格式符号构造日期。

参数pattern是一个字符串,代表日期时间的自定义格式。常用的格式规则如下:

JAVA进阶知识学习-day01 Object类&Date类&System类

2.2.3 使用举例:

DateFormat format = new SimpleDateFormat(“yyyy‐MM‐dd HH:mm:ss”);

2.2.4 DateFormat类的常用方法:

public String format(Date date) :将Date对象格式化为字符串。

public Date parse(String source) :将字符串解析为Date对象。

2.2.5 使用举例:

Date date = new Date();

DateFormat df = new SimpleDateFormat(“yyyy年MM月dd日”);

String str = df.format(date);

System.out.println(str); // 2008年1月23日

2.3 Calendar类

2.3.1 java.util.Calendar 是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。

2.3.2 获取方式:Calendar为抽象类,在创建对象时通过静态方法创建,返回子类对象:

public static Calendar getInstance() :使用默认时区和语言环境获得一个日历

2.3.3 使用举例: Calendar cal = Calendar.getInstance();

2.3.4 常用方法:

public int get(int field) :返回给定日历字段的值。

public void set(int field, int value) :将给定的日历字段设置为给定值。

public abstract void add(int field, int amount) :根据日历的规则,为给定的日历字段添加或减去指定的时间量。

public Date getTime() :返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。

2.3.5 Calendar类中提供很多成员常量,代表给定的日历字段:

JAVA进阶知识学习-day01 Object类&Date类&System类

2.3.6 使用举例:

// 创建Calendar对象

Calendar cal = Calendar.getInstance();

// 获取年

int year = cal.get(Calendar.YEAR);

// 获取月

int month = cal.get(Calendar.MONTH) + 1;

// 设置年

cal.set(Calendar.YEAR, 2020);

// 使用add方法

cal.add(Calendar.DAY_OF_MONTH, 2); // 加2天

cal.add(Calendar.YEAR, ‐3); // 减3年

//使用getTime方法

Date date = cal.getTime();

三、 System类

3.1 java.lang.System 类中提供了大量的静态方法,可以获取与系统相关的信息

3.2 常用方法1:

public static long currentTimeMillis() :返回以毫秒为单位的当前时间。

3.3 使用举例:

//获取当前时间毫秒值

System.out.println(System.currentTimeMillis());

3.4 常用方法2:

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :将数组中指定的数据拷贝到另一个数组中。

JAVA进阶知识学习-day01 Object类&Date类&System类

3.5 使用举例:

// 将src数组中前3个元素,复制到dest数组的前3个位置上

System.arraycopy(src, 0, dest, 0, 3);

四、StringBuilder类

4.1 java.lang.StringBuilder类又称为可变字符序列,它是一个类似于String的字符串缓冲 区,通过某些方法调用可以改变该序列的长度和内容。它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。

4.2 构造方法:

public StringBuilder() :构造一个空的StringBuilder容器。

public StringBuilder(String str) :构造一个StringBuilder容器,并将字符串添加进去

4.3 使用举例:

StringBuilder sb1 = new StringBuilder();

// 使用带参构造

StringBuilder sb2 = new StringBuilder(“itcast”);

4.4 常用方法:

public StringBuilder append(…) :添加任意类型数据的字符串形式,并返回当前对象自身。

public String toString() :将当前StringBuilder对象转换为String对象。

4.5 使用举例:

// 链式创建

StringBuilder sb = new StringBuilder(“Hello”).append(“World”).append(“Java”);

// 调用方法

String str = sb.toString();

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/54917.html

(0)
上一篇 2024-07-28 17:00
下一篇 2024-07-28 20:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信