zoukankan      html  css  js  c++  java
  • day16_Calendar类 System类 StringBuilder类 包装类

    今日内容

    • Calendar类

    • System类

    • StringBuilder类

    • 包装类

    Calendar类

      在java.util.Calendar包下,需要导包,是个日历类,抽象类。该类将所有可能用到的时间信息封装成静态成员变量,通过类名.静态成员变量获取时间字段值。

      Canlendar类不是直接创建对象来获取时间属性字段值,而是通过静态方法创建返回子类对象。

    方法:

    1.
        pubic static Calendar getInstence(): 使用默认时区和默认的语言环境获取一个日期对象
    例如:
        public class Demo01Calendar{
             public  static void main(String[] args){
                    Calendar calendar =Calendar.getInstance();//获取一个日历的对象
    }       
    }

    常用的方法:

    •   public int get(int field)
    •   public void set(int field,int value): 将给定的字段设定为给定的值
    •        public abstract void add(int field ,int value): 根据日历规则,将给定的日历字段添加或者减少指定的时间值
    •        public Date getTime(): 把日历对象转换成日期对象
    •        public long getTimeInMollos(): 获取日历对象对应的毫秒值

    Calendar类中提供了很多个成员变量,代表给定的日历字段值:

    字段值 含义
    YEAR
    MOUTH 月份
    DATE 月中的某一天(几号)
    DAY_OF_MONTH 月中的第几天
    HOUR 时(24小时制)
    HOUR_OF_DAY 时(12小时制)
    MINUTE
    SECOND
    DAY_OF_WEEK 一周中的第几天(周几,周日为1)

    备注:1.在西方的星期,开始为周日

        2.在Calendar类中,月份表示以0-11代表我们的1-12月

        3.日期是有大小关系的,时间靠后,代表越大。

    System类

      java.lang.System类中提供了大量的静态方法,主要是用来获取与系统相关的信息或者是进行系统级操作

      他不能被实例化,也不能被继承。

    常用的API方法:

    •   public static long currentTimeMills():获取当前系统时间对应的毫秒值
    •        public static void arrayaopy( Object src, int srcPos,Object dest,int destPos,int length):将数组中指定的数据拷贝到另一个数
    • (不常用)public static void exit(int status): 终止当前正在执行的java虚拟机

      currentTimeMills()方法

    它获取的是从1970年1月1日 0时0分0秒到当前时间的毫秒差值

      arraycopy()方法

    将一个数组中的元素复制到另一个数组中。性能高
    arraycopy方法当中涉及到5个参数:
    参数列表 参数名称 参数类型 参数的含义
    1 src Object 源数组
    2 srcPro int 源数组索引的起始位置
    3 dest Object 目标数组
    4 destPos int 目标数组索引的起始位置
    5 length int 复制元素的个数


    StringBuilder类

      String:是常量,值不能被改变 底层是被final修饰的数组不能改变 它是以字节的形式存在内存当中

      进行字符串相加的时候,会占用空间,效率低下

    String str = "a"+"b"+"c"//开辟三个空间
    String str = “ab”+“c”//每运算依次开辟一个新空间

      StringBuilder类:字符串缓冲区,长度可变的字符串,底层是一个数组,没有被final修饰,可以改变长度,其初始长度为16

      1.范围

          在内存中始终是一个数组,空间小,效率高,超出String的范围会自动扩容,每次扩容为:length*2+2;超出的话会直接扩充到有多少字符是多大内存。最大是int的范围。

      2.构造方法

    他有空参构造和有参构造
    空参是构造了没有内容的16个字符,
    StringBuilder() 
    有参构造可以在参数位置指定其字符
    StringBuilder(CharSequence seq) 
        它包含与指定的 CharSequence 相同的字符。
    也可以指定其初始容量
    StringBuilder(int capacity) 
    构造一个不带任何字符的字符串生成器,其初始容量由 capacity 参数指定。

      3.常用方法

    public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象本身,返回的容量至少与给定的最小容量一样大

      4.相互转换

    String-->StringBuilder:可以使用StringBuilder的带参构造方法
        StringBuilder(String str) 构造一个字符生成器,并初始化为指定的字符串内容
    StringBuilder-->String : 可以使用StringBuilder类中的toString()方法
        public String toString():将当前的StringBuilder对象转换成String对象

      5.强制特点

    public StringBuilder insert(int offset,...)根据指定的位置插入任意类型数据的字符串形式,返回的是当前对象不管存储什么类型的数据,进入字符串缓冲区都变成了字符值(所有类型都可以)

    包装类

      分为装箱和拆箱(包装类属于引用类型)

        装箱:把基本数据类型包装到包装类中(Integer,Double)

        拆箱:从包装类中取出基本数据类型的数据

      装箱:(弃用)

    构造方法:
    Integer (int value ) : 构造一个新分配的Integer对象 它表明指定的int类型值
    Integer(String s)构造一个新分配的Integer对象,他表示的String参数指定的int值 “123”可以      “abc”不可以
    
    静态方法:
    static Integer calueOf(int i): 将指定的int类型值转换成Integer实例
    static Integer valueOf(String s):将String类型的int值转换成Integer对象

      拆箱:(弃用)

    在包装类中取出基本数据类型的数据(包装类型--->基本数据类型)
        成员方法:
            int intValue():将指定的包装类型的对象转换成int类型

      JDK1.5之后出现的自动装箱和自动拆箱

        自动装箱:

    直接把int类型值赋值给包装类
    如:
    Integer  int =123; 相当于Integer int = new Integer(123);

        自动拆箱:

    包装类无法直接参与运算
    自动拆箱后:
    int + 2就相当于int.intValue()+2

      基本数据类型和字符串之间的自由切换

    基本数据类型--->字符串
    1. 基本数据类型值+“”   -->最简单的方法(常用)
    2.使用Integer类中的toString(int i): 返回的是表示指定整数的String对象+static String toString(int i)
    3.String类中的静态方法valueOf(参数)
    static String valueOf(int i)返回的是int参数的字符串表示形式
    字符串 --->基本数据类型
    使用包装类中的静态方法parseXxx(字符串);
    Integer类: static int parseInt(String s)
    Double类:static double parseDouble(String s)

      





















      

      

  • 相关阅读:
    Spring(九)Spring中的两种自动代理
    Spring(八)Spring错题总结
    Spring(七)Spring中的四种增强和顾问
    SourceTree使用git
    Idea集成git
    SpringMVC--AbstractController抽象类限定请求提交
    SpringMVC处理器配置方式
    SpringMVC静态资源无法访问解决方案
    SpringMVC--视图解析器
    HandlerMapping执行流程
  • 原文地址:https://www.cnblogs.com/rxqq/p/14065640.html
Copyright © 2011-2022 走看看