Java高级重点知识点-11-日期时间类、System类、StringBuild类、包装类

日期时间类

  1. Date类

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

  • public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
  • public Date(long date):分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。
  1. DateFormat类
    java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换
  • 格式化:按照指定的格式,从Date对象转换为String对象。
  • 解析:按照指定的格式,从String对象转换为Date对象。
标识字母(区分大小写)含义
y
M
d
H
m
s
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class CompareToString {
    public static void main(String[] args) throws ParseException {
        Date date = new Date();
        System.out.println(date);
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = dateFormat.format(date);
        System.out.println(time);
        String str = "2020-01-01 00:00:00";
        Date parseStr = dateFormat.parse(str);
        System.out.println(parseStr);
    }
}

在这里插入图片描述

  1. Calendar类
  • public static Calendar getInstance():使用默认时区和语言环境获得一个日历
  • 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对象。
public class StudyCalendar {
    public static void main(String[] args) {
        Calendar instance = Calendar.getInstance();
        System.out.println(instance.get(Calendar.YEAR));
        instance.setTime(new Date());
        System.out.println(instance);
        instance.add(Calendar.YEAR, 1);
        System.out.println(instance.getTime());
    }
}

这里我们通过Calendar.getInstance()[类名.静态方法名]来创建一个日历对象,通过instance.get(Calendar.YEAR)获取了当今的年份,通过instance.setTime(new Date())将此日历的时间设置为给定日期。通过instance.add(Calendar.YEAR, 1)将日历的年份增加1,通过instance.getTime()来获取当前的日历时间。在这里插入图片描述

System类

  • public static long currentTimeMillis():返回以毫秒为单位的当前时间。
  • public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):将数组中指定的数据拷贝到另一个数组中。

代码示例:

public class StudyCalendar {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();
        for (int i = 0; i < 100000; i++) {
            System.out.println("");
        }
        long end = System.currentTimeMillis();
        System.out.println("用时:" + (end - start) + "毫秒");


        int[] a = {1,2,3,4,5};
        int[] b = {6,7,8,9,10};
        // 将源数组a从索引2开始的俩个元素,复制到目标数组b的索引1开始的俩个位置
        System.arraycopy(a,2,b,1,2);
        System.out.println(Arrays.toString(b));
    }
}

StringBuilder类

由于字符串的拼接会导致空间资源的浪费以及消耗时间,因此我们需要使用到StringBuilder类
原来StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。tringBuilder会自动维护数组的扩容。(默认16字符空间,超过自动扩充)

  • public StringBuilder append(…)`:添加任意类型数据的字符串形式,并返回当前对象自身。
  • public String toString():将当前StringBuilder对象转换为String对象。
public class StringBuildDemo {
    public static void main(String[] args) {
        StringBuilder builder1 = new StringBuilder();
        StringBuilder builder2 = new StringBuilder("world");
        String str = "hello";
        System.out.println(builder1.toString());
        builder1.append(str);
        System.out.println(builder1.toString());
        builder1.append(builder2);
        System.out.println(builder1.toString());
    }
}

在这里插入图片描述

包装类

如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类

  1. 装箱与拆箱
  • 装箱:从基本类型转换为对应的包装类对象。
  • 拆箱:从包装类对象转换为对应的基本类型。
public static void main(String[] args) {
        Integer integer = new Integer(5);
        System.out.println("将int类型值为5的进行装箱操作:" + integer);
        int i = integer.intValue();
        System.out.println("将Integer类型值为5的进行拆箱操作:" + i);
}
  1. 自动装箱与自动拆箱
    就是在我们进行基本数据类型和包装类之间的转换时,会自动完成装箱和拆箱操作。
public class Demo {
    public static void main(String[] args) {
        Integer integer = 4;
        System.out.println("将int类型值为4的进行装箱操作:" + integer);
        int i = integer;
        System.out.println("将Integer类型值为4的进行拆箱操作:" + i);
    }
}
  1. 基本类型与字符串之间的转换
  • 通过自动装箱之后使用toString()方法转换成字符串
  • 通过String.valueof()方法转换为字符串
  • 通过直接与””相连接即可;如:34+“”
public class Demo {
    public static void main(String[] args) {
        int i = 4;
        String a = Integer.valueOf(i).toString();
        String b = String.valueOf(4);
        String c = 4 + "";
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
    }
}

在这里插入图片描述
String转换成对应的基本类型:
除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型:

  • public static byte parseByte(String s):将字符串参数转换为对应的byte基本类型。
  • public static short parseShort(String s):将字符串参数转换为对应的short基本类型。
  • public static int parseInt(String s):将字符串参数转换为对应的int基本类型。
  • public static long parseLong(String s):将字符串参数转换为对应的long基本类型。
  • public static float parseFloat(String s):将字符串参数转换为对应的float基本类型。
  • public static double parseDouble(String s):将字符串参数转换为对应的double基本类型。
  • public static boolean parseBoolean(String s):将字符串参数转换为对应的boolean基本类型。

欢迎java热爱者了解文章,作者将会持续更新中,期待各位友友的关注和收藏,另外对编程感兴趣的友友们可以加以下群共同学习。群号:127871664

  • 24
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿胡爱编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值