Object类、Date类、DateFormat抽象类,SimpleDateFormat类,StringBuilder、包装类的总结

1.Object类、java.lang.Object.

  1. 它是所有类的直接或间接父类、如果一个类没有指定父类,那么将默认继承Object类。
  2. 类的主要方法:
    1)boolean equals():除了String类,其他对象使用.equals()方法比较的都是地址值。
    ·····注:String类对象使用时比较的是值是否相等。因为Object类的equals方法中专门对String的调用做的特殊处理。
    ··· ··其次一般在我们使用的类中都会重写 equals方法,因为大部分情况下比较地址值是无意义的,经过重写后,就可以用来比较当前对象的属性值是否相等了。
    2).String toString();使用该方法,不重写则默认返回对象的地址值、重写后则返回对象的字符串形式。
    3)int hashCode():返回对象的hashCode值、

2.Date(日期时间类) java.util.Date

  • 毫秒值:1000ms=1s
    -作用、可以使用毫秒值对时间日期进行运算。即将毫秒值转换为时间或将时间转换为毫秒值。
  • 时间原点:国外:1970年1月1日 00:00:00、这个时间点对应的毫秒值就是 0ms.
    -即将0ms转换为时间的话就是 1970年1月1日 00:00:00
    -而将1970年1月1日 00:00:00 转换为毫秒值,也会得到 0ms。
    -国内属于东八区,所以时间原点往后8小时。1970年1月1日 08:00:00
  • Date的构造方法
    - 空参构造:new Date()-----》得到系统当前的时间和日期
    - 有参构造:new Date( Long long)----得到该毫秒值(long)对应的日期和时间。例如 new Date(0)、得到的就是时间原点 1970年1月1日 00:00:00
  • Date的成员方法
    long getTime():得到当前(调用方法的时间日期对象)时间的毫秒值

3.(Abstract)DateFormat类、和其子类SimpleDateFormat

java.text…

  • 该类是抽象类,所以无法直接使用,得使用它的一个子类。SimpleDateFormat
  • 该类能够按照指定的格式,实现将日期时间对象【格式化为】对应格式的字符串形式的,以及将对应格式的字符串【解析】为时间日期格式
    -格式参数:
    y: 年
    M(大写): 月
    d: 天
    H(大写): 时
    m: 分
    s: 秒
    -一般使用的格式有:
    1. yyyy-MM-dd HH:mm:ss
    2. yyyy年MM月ddt日 HH时mm分:ss秒
    3. yyyy-MM-dd
    4. yyyy年MM月dd日
  • 格式化:(按照格式将Date格式化为String)
  • 解析:(按照格式,将符合格式的String解析为对应的Date对象)
        //得到一个时间日期类型
        Date date = new Date();
        System.out.println(date);//Sat Mar 19 11:31:30 CST 2022
        System.out.println(date.toLocaleString());//得到国内的能看明白的Date格式----------2022-3-19 11:32:34
        //定义要转换或者解析的格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        //将date格式化为String
        String format = sdf.format(date);
        System.out.println(format);

        //此处异常时因为可能会造成解析异常,如果出异常就需要try{}catch{}或者throws
        try {
            Date parse = sdf.parse(format);
            System.out.println(parse.toLocaleString());//2022-3-19 0:00:00
        } catch (ParseException e) {
            e.printStackTrace();
        }

4.System类 java.lang. 它提供了两个常用静态方法

  1. public Static long currentTimeMillis():返回系统当前的毫秒值。
    1. 它可以用来测试程序执行的效率,即拿到执行前后的毫秒值,并做差值处理。
    2.arrayCopy(。。。):将数组中指定的数据拷贝到另外一个数组中。这个暂时不做讲解。

5.StringBuilder (缓冲区) java.lang

	它是字符串缓冲区,可以提高字符串的操作效率。其底层也是一个byte数组,但是没有用final修饰,,长度是可以改变的。
	且每个StringBuilder对象始终都是一个数组,进行操作时如果容量不够就会进行自动扩容。初始容量是16的byte数组。
  1. 构造方法
    1.空参构造:new StringBuilder():得到一个空的缓冲区对象(底层byte大小为16)。
    2.有参构造:new StringBuilder(String string):得到对应的字符串缓冲区对象。
  2. 常用方法
    1.StringBuilder append():因为它返回的任然是当前对象本身。所以可以使用链式编程。
    参数:参数可以为任意数据类型的字符串形式
        StringBuilder sb = new StringBuilder();
        //使用了链式编程
        sb.append("abc").append(true).append(3);
        System.out.println(sb); //abctrue3

3.String toString():将当前缓冲区对象装换成String字符串:

        //将缓冲区对象sb装换成字符串格式
        String string = sb.toString();//字符串  abctrue3
//        将字符串再转成缓冲区对象,只需要用构造穿进去就行

4.StringBuilder reverse():将该缓冲区对象的内容反转。如“123”----》“321”


        //将缓冲区对象的内容反转
        StringBuilder reverse = sb.reverse();
        System.out.println(reverse);

6.包装类 java.lang

  1. 特点:因为基本类型自己是没有对应的方法来操作数据的,所以将这些基本类型的数据包装起来形成了包装类,这些包装类中包含了一些操作对应基本数据的方法,像对象一样可以操作它。
  2. 包装类:
基本类型对应的包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

除了标黑处理的Integer和Character两个包装类,其它的都是首字母大写即可。

3.构造方法(以Integer为例)一般使用静态方法

        //构造方法可以传入int类型,和其它能够被转化的基本类型数据。转换成功则  抛出100,错误抛出0
        Integer integer = new Integer(5);
        Integer integer2 = new Integer('b');  //此处传入的是字符,如果传入字符串就会报错
        System.out.println(integer+"-----"+integer2);

4.静态方法
装箱和拆箱:
拆箱的目的是我们要拿出数据来进行运算。因为包装类无法直接参与运算。

//        装箱操作:
        Integer i1 = Integer.valueOf(123);
        Integer i2 = Integer.valueOf('a');
        System.out.println(i1+"-----"+i2);

//        拆箱,一般会自动拆箱,除非我们手动要拿到。
        int i = i1.intValue();
        System.out.println(i);

不知道对应方法怎么调,直接声明一个对象 然后。value看提示。

5.每个包装类(除了Character)都有一个静态方法,将字符串转为对应的基本类型数据。
不过不一定成功。

        String str1="asa";
        Integer.parseInt(str1);
//        Long.parseLong(str1);
        Byte.parseByte(str1);
        Double.parseDouble(str1);
        Short.parseShort(str1);
        Float.parseFloat(str1);
        Boolean.parseBoolean(str1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值