API(二)

Calendar

概念

java,util.Calendar日历类,抽象类,在Date类后出现的,替换掉了很多Date类中的方法。该类将所有可能用到的时间信息封装为静态成员变量,通过类名.静态成员变量获取时间字段值。

获取方式

由于Calendar类是一个抽象类,语言敏感性,Calendar类并不是直接创建对象来获取时间属性值,而是通过静态方法创建,返回子类对象。

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

常用的方法

  • public int get(int filed):获取给定的日历字段值
  • public void set(int field,int value):将给定的字段设定为给定的值
  • public abstract void add(int filed,int amount):根据日历规则,将给定的日历字段添加或者减少指定的时间值
  • public Date getTime():把日历对象转换成日期对象
  • public long getTimeMillis():获取日历对象对应的毫秒值
字段值含义
YEAR
MONTH月份
DATE月中的某一天(几号)
DAY_OF_MONTH月中的第几天
HOUR时(12小时制)
HOUR_OF_DAY时(24小时制)
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 arraycopy(Object src,int srcPos,Object dest,int destPos,int length):将数组中指定的数据拷贝到另一个数组当中’’
  • public static void exit(int status):终止当前正在执行的java虚拟机,0代表正常退出,非0代表异常退出.

currentTimeMills()方法
实际上,它获取到是距1970年1月1日 0时0分0秒到当前时间毫秒差值

arraycopy()方法
将一个数组当中的元素复制到另一个数据当中,数组的拷贝动作是一个系统级的操作,性能比较高.

arraycopy方法当中涉及到的5个参数:

参数列表参数名称参数类型参数含义
1srcObject源数组
2srcPosint原数组索引的起始位置
3destObject目标数组
4destPosint目标数组索引的起始位置
5lengthint复制元素的个数

String类

String类不能被继承,String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。

字符串是常量;它们的值在创建之后不能更改。

字符串缓冲区(StringBuffer)支持可变的字符串。因为 String 对象是不可变的,所以可以共享。

常用方法:

  • char charAt(int index) :返回指定索引处的 char 值。
  • boolean contains(CharSequence s) :当且仅当此字符串包含指定的 char 值序列时,返回 true。
  • String replace(char oldChar, char newChar) :返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
  • String replaceAll(String regex, String replacement) :使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
  • String[] split(String regex) :根据给定正则表达式的匹配拆分此字符串。
  • String substring(int beginIndex) : 返回一个新的字符串,它是此字符串的一个子字符串。
  • String substring(int beginIndex, int endIndex) :返回一个新字符串,它是此字符串的一个子字符串。
  • char[] toCharArray() :将此字符串转换为一个新的字符数组。
  • String toString() :返回此对象本身(它已经是一个字符串!)。
  • String trim() :返回字符串的副本,忽略前导空白和尾部空白
  • stataic String valueOf(参数) 可以将任意数据类型的数据转为字符串返回
  • boolean isEmpty() :当且仅当 length() 为 0 时返回 true。
  • String concat(String str) :将指定字符串连接到此字符串的结尾。
  • int compareTo(String anotherString) :按字典顺序比较两个字符串。
  • int compareToIgnoreCase(String str) :按字典顺序比较两个字符串,不考虑大小写
  • int indexOf(int ch) :返回指定字符在此字符串中第一次出现处的索引。
  • int indexOf(int ch, int fromIndex) :返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
  • boolean isEmpty() :当且仅当 length() 为 0 时返回 true。
  • int length() :返回此字符串的长度。

String字符串底层是一个被final修饰的数组,不能改变,是一个常量
private final char value[];是以字节的形式存在在内存当中

StringBuffer类

线程安全的可变字符序列,效率低
StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后 将该字符串的字符追加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。

  • StringBuffer append(参数):将某参数的字符串表示形式追加到序列.
  • StringBuffer insert():将参数的字符串表示形式插入此序列中.
  • StringBuffer insert(int index, char[] str, int offset, int len):将数组参数 str 的子数组的字符串表示形式插入此序列中。
    index - 要插入子数组中的位置。
    str - 一个 char 数组。
    offset - 将插入子数组中的第一个 char 的索引。
    len - 将插入子数组中的 char 的数量。

StringBulider类

不保证线程安全的可变字符序列.与StringBuffer的API完全一致,效率高.

包装类

含义

包装类主要指 将8种基本类型包装成对应的类

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter

大多数情况,包装类的主要作用是用于基本数据类型与字符串的相互转换

装箱

把基本数据类型的数据包装到包装类中(基本数据类型---->包装类型)
以Integer int的包装类
构造方法:
Integer(int value):构造一个新分配的Integer对象,它表示的指定的int类型的值
Integer(String s): 构造一个新分配的Integer对象,他表示的String参数类型指定的int值 “123”
静态方法:
static Integer valueOf(int i): 将指定的int类型值转换成Integer实例
static Integer valueOf(String s):将String类型的int值转换成Integer对象

public class IntegerDemo01 {
    public static void main(String[] args) {
        // 装箱:把基本数据类型的数据包装到包装类中(基本数据类型---->包装类型)
        // 构造方法
        Integer int01 = new Integer(123);
        System.out.println(int01);// 内存地址值   123  重写Object类中的toString方法
        System.out.println("=========================");

        Integer int02 = new Integer("123");
        System.out.println(int02.equals(int01));// true
        System.out.println("==============================");

        // 静态方法
        Integer int03 = Integer.valueOf(127);
        System.out.println(int03);// 123
        Integer int04 = Integer.valueOf("127");
        System.out.println( int03 == int04 );// true
        System.out.println("===============================");

        // 传递一个真的字符串 java.lang.NumberFormatException: For input string: "abc" 数字格式化异常
        //Integer int05 = Integer.valueOf("abc");
        //System.out.println(int05);
        System.out.println("-------------------------");

        //拆箱:从包装类中取出基本数据类型的数据(包装类------>基本数据类型)
        Integer int06 = new Integer(123);
        int i = int06.intValue();
        System.out.println(i);

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值