Java常用类2

Java常用类2

String相关的类

String,StringBuilder,StringBuffer三者的异同

  • String:不可变的字符序列

  • StringBuffer:可变的字符序列(线程安全,效率低)

  • StringBuilder:可变的字符序列(jdk5.0新增,线程不安全,效率高)

都是用底层char[]存储

        StringBuffer s1 = new StringBuffer("abc");//可变
        s1.setCharAt(0,'m');
        System.out.println(s1);//mbc
        StringBuffer s2= new StringBuffer(30);//添加数字来确定要多少个元素(减少扩容)
        System.out.println(s2.length());//0

 扩容问题:默认情况是扩容2倍+2(16*2+2),同时将原数组中的元素复制到新数组

StringBuffer常用方法

        StringBuffer s1 = new StringBuffer("abc");
        //添加
        s1.append(1);
        s1.append("a");
        System.out.println(s1);

        //删除
        s1.delete(2,4);//左闭右开
        System.out.println(s1);

        //替换
        s1.replace(2,4,",hello");//左闭右开
        System.out.println(s1);

        //插入
        s1.insert(2,false);
        System.out.println(s1);

        //逆转
        s1.reverse();
        System.out.println(s1);

三者转换

  • String-->StringBuffer,StringBuilder:调用StringBuffer,StringBuilder构造器
  • StringBuffer,StringBuilder-->String:调用String构造的toString器/StringBuffer,StringBuilder

System类中获取时间截取(jdk8之前日期和时间的api测试)

java.lang.System类

 public static void test1(){
        //当前时间与1970年1月1日的的时间差(毫秒)
        long time = System.currentTimeMillis();
        System.out.println(time);//称为时间戳   
    }

输出一个唯一的当前数

Java.util.Date类(对应数据库中日期类型的变量)

        两个构造器:
           >构造器1:当前时间
           >构造器2:指定时间
        两个方法:
           >toString():显示当前年,月,日,时,分,秒
           >getTime():显示当前对象与1970年1月1日的的时间差(毫秒)
        /**
         * 构造器1:当前时间
         */
        Date date1 = new Date();
        System.out.println(date1.toString());//出年,月,日,时,分,秒
        System.out.println(date1.getTime());//毫秒数

        /**
         * 构造器2:指定时间
         */
        Date date2 = new Date(985559805311L);//指定时间和当前是相差的毫秒数
        System.out.println(date2);

如何将Java.util.Date对象转化成java.sql.System对象

        //情况一
        Date date3 = new java.util.Date();
        Date date4 = (java.sql.Date)date3;
        //情况二
        Date date5 = new Date();
        java.sql.Date date6 = new java.sql.Date((date5.getTime()));

java.text.SimpleDateFormat类

SimpleDateFormat对日期Date类的格式化和解析

  • 格式化:日期——>字符串:对象.format(时间)

  • 解析:字符串——>日期:对象.parse(时间)

  • SimpleDateFormat的实例化

        //实例化(默认)
        SimpleDateFormat sdf= new SimpleDateFormat();
        /* 格式化*/
        Date date = new Date();
        System.out.println(date);
        String format = sdf.format(date);
        System.out.println(format);//字符串

        /* 解析(符合格式)*/
        String str01 = "22-2-15 下午4:07";
        Date parse = sdf.parse(str01);
        System.out.println(parse);
        System.out.println("=========================");
        /*======================================================================*/
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy.MMMM.dd hh:mm.ss");
        String format1 = sdf1.format(date);      //    年  月  日   时 分 秒
        System.out.println(format1);

        Date parse1 = sdf1.parse("2022.二月.15 04:31.22");
        System.out.println(parse1);

java.util.Calendar类

  • Calendar的实例化
  1. 使用Calendar。getInstance()方法
  2. 调用子类GregorianCalender的构造器
        //使用方法
        Calendar instance = Calendar.getInstance(); //当前时间
     //常用方法
        /*get()*/ 得到天数
        int day = instance.get(Calendar.DAY_OF_MONTH);
        System.out.println(day);//今天是这个月的第几天
        System.out.println(instance.get(Calendar.DAY_OF_YEAR));//今年的第几天
        System.out.println("=========================");

        /*set()*/ 换天数
        instance.set(Calendar.DAY_OF_MONTH,22);//instance已经改了
        day = instance.get(Calendar.DAY_OF_MONTH);
        System.out.println(day);
        System.out.println("=========================");

        /*add()*/ 加天数(负数就是减天数)
        instance.add(Calendar.DAY_OF_MONTH,3);
        day = instance.get(Calendar.DAY_OF_MONTH);
        System.out.println(day);

        instance.add(Calendar.DAY_OF_MONTH,-6);
        day = instance.get(Calendar.DAY_OF_MONTH);
        System.out.println(day);
        System.out.println("=========================");
     //转换
        /*getTime()*/ 日历类——>Date
        Date time = instance.getTime();
        System.out.println(time);
        System.out.println("=========================");


        /*setTime()*/ Date——>日历类
        Date date = new Date();
        instance.setTime(date);
        System.out.println(instance.get(Calendar.DAY_OF_MONTH));

注:月份:一月是0,十二月是11

​ 星期:周日是1,周六是7

posted @ 2022-02-13 21:37  T,a,o  阅读(43)  评论(0编辑  收藏  举报