第五章:StringBuffer和日期

发布于:2022-08-05 ⋅ 阅读:(200) ⋅ 点赞:(0)

第五章:StringBuffer/Build和日期

本期知识点:

  • StringBuffer操作字符串
  • Date类和Calendar类操作日期时间
  • SimpleDateFormat类格式化日期时间

一,StringBuffer类和StringBuild类

​ 对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率。

StringBuffer声明

  • StringBuffer sb = new StringBuffer();
  • StringBuffer sb = new StringBuffer(“aaa”);

​ 可以看到StringBuffer的声明和String一致,不同点做字符串修改时,底层的执行不一样,我们只需要知道StringBuffer在执行字符串频繁修改时,他是节省java空间的。

StringBuffer的使用

​ StringBuffer是有额外的几个关于字符串修改的方法的。

sb.toString();           //转化为String类型
sb.append("xx");      //在字符串末尾追加字符串
sb.insert (index, "xx");    //在下标为index的位置插入字符串

​ 注意:

  • StringBuffer和StringBuild的使用是一致的。
  • StringBuffer是线程安全的,我们在多线程的情况下要使用StringBuffer。
  • String是不可变对象,经常改变内容的字符串最好不要使用String。
  • StringBuffer是可变的字符串,字符串经常改变的情况可使用StringBuffer,更高效。
  • JDK5.0后提供了StringBuilder,等价StringBuffer。

二,日期类及其相关类

Date类

Date类在java.util包下,表示日期和时间,内部提供了操作日期和时间各组成部分的方法。

//创建日期对象
Date date = new Date(); 
System.out.println(date);//输出时间为英文格式,对国人有点不友好,一般要格式化

SimpleDateFormat类

​ SimpleDateFormat类在java.text包下,用于格式化时间格式。

//创建日期对象
Date date = new Date(); 
//定制日期格式
SimpleDateFormat formater = new SimpleDateFormat("yyyy- MM-dd HH:mm:ss");//定义格式
String now = formater.format(date);
System.out.println(now);//输出已经格式化的日期。

Calendar类

Calendar类是一个抽象类位于java.util包下,用于设置和获取日期/时间数据的特定部分。

在这里插入图片描述

Calendar类内部使用的单例模式,所以我们不能实例化,只能通过方法去获得实例对象。

		Date date = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年-MM月-dd日");
        System.out.println(simpleDateFormat.format(date));

        Calendar c = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date d = sdf.parse("2015-04-06");
            c.setTime(d);
            System.out.println("2015年4月6日是一年中的第"+c.get(Calendar.WEEK_OF_YEAR)+"个星期");
        } catch (ParseException e) {
            e.printStackTrace();
        }

​ 我们得到实例对象之后,我们使用setTime()方法,传入一个Date对象,就可以通过get()方法,传入想得到的内部定义好的常量,就好了。


网站公告

今日签到

点亮在社区的每一天
去签到