栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java语言高级01

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java语言高级01

java语言高级01
  • Object类常用的API
    • toString方法
    • equals方法
  • Objects类
    • equals方法
  • Date类
    • 构造方法
    • 成员方法
  • DateFormat类
    • 成员方法
  • SimpleDateFormat
  • 小练习(计算一个人已经出生了多少天)

Object类常用的API

Object类是类层次结构的根类,是所有类的父类,它描述的所有方法子类都可以使用。
如果一个类没有指定的父类,则默认继承Object类

toString方法

重写前:打印的是包名类名@地址值
重写后:打印的是对象的属性值
直接打印对象的名字,其实就是调用对象的toString方法 p = p.toString
ArrayList和 Scanner重写了toString方法而Random 没有重写。

equals方法

重写前:比较两个对象的地址值
重写后:比较两个对象的属性值
String类的equals方法重写了
String s1=”abc”
String s2=”abc”
System.out.printIn(s1.equals(s2));//结果是true


Objects类 equals方法

Objects类的equals方法:对两个对象进行比较,防止空指针异常
格式:Objects.equals(s1, s2);
比如String s1=null;
String s2=”abc”;
boolean b=s1.equals(s2);// NullPointerException,null不能调用方法,会抛出空指针异常

== 比较运算符
基本数据类型:比较值
引用数据类型:比较的是两个对象的地址值

Objects.equals源代码:
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}

重写equals(直接快捷键生成就好了,下面是手工的)

当一个类是父类一个类是子类,相比较的时候,利用强转

Date类

java.util.Date:表示日期和时间的类

构造方法

Date():根据当前系统时间创建日期对象
Date(long time):根据根据传入的毫秒值时间创建日期对象
比如:Date d1=new Date(0L);
打印出的时间结果是1970 年 1 月 1日 08:00:00
因为时间原点(0毫秒):1970 年 1 月 1日 00:00:00(英国格林威治时间)
但是由于中国属于东八区,会把时间增加8个小时 1970 年 1 月 1日 08:00:00

成员方法

long getTime():获取当前日期对象的毫秒时间,也就是当前时间距离时间原点的毫秒
String toLocaleString():根据本地格式转换日期对象

DateFormat类

java.text.DateFormat类:是日期、时间格式化子类的抽象类
作用:格式化(日期 转换为 文本)、解析(文本 解析为 日期)

成员方法

String format(Date date):按照指定的模式,把Date日期,格式化为符合模式的字符串
Date parse(String sourse):把符合模式的字符串,解析为Date日期

SimpleDateFormat

java.text.SimpleDateFormat 继承于 DateFormat
SimpleDateFormat(String pattern)
常用模式:“yyyy-MM-dd HH:mm:ss"或者"yyyy年MM月dd日 HH时mm分ss秒”

使用步骤:
SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);
Date date=new Date();
String text = sdf.format(date);

SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);
Date date=sdf.parse(“2000-03-21 12:28:30”);
注意:parse方法声明了一个异常叫ParseException解析异常,如果字符串和构造方法的模式不一样,那么程序就会抛出此异常。

小练习(计算一个人已经出生了多少天)
public class test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入出生日期,格式为yyyy-MM-dd");
        String birthday=scanner.next();
        Date date1=new Date();
        long time1=date1.getTime();//获取当前时间的毫秒数

        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date2=sdf.parse(birthday);
            long time2=date2.getTime();//获取出生日期的毫秒数
            long time=(time1-time2)/1000/60/60/24;
            System.out.println(time);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/281029.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号