3、Objects
§ Objects 类的qeuals方法:对两个对象进行比较,防止空指针异常
§ null调用方法会报空指针异常
4、日期时间类
§ Date类表示特定的瞬间,精确到毫秒
§ currentTimeMillis 获取当前系统时间到时间原点经历的多少毫秒(中国属于东八区,加八个小时为1970.1.1 08:00:00)
5、DateFormat类(抽象类)
§ 直接子类;SimpleDateFormat格式化:日期->文本 解析 文本->日期
格式化格式(format) 1、(创建对象) SimpleDateFormat XXX = new SimpleDateFormat(模板);
2、调用 Date X= new Date ; String text = XXX. Format(Date)
§ parse方法声明了一个异常叫ParseException
6、(日历类)Calendar类(抽象类)
§ calendar类无法直接创建对象使用,里面有一个静态方法,getInstance(),该方法返回了Calendar类的子类对象
§ 常用的方法
一、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对象。
§ 成员方法的参数:
int field:日历类的字段,可以使用Calendar类的静态成员变量获取
public static final int YEAR = 1; 年
public static final int MONTH = 2; 月
public static final int DATE = 5; 月中的某一天
public static final int DAY_OF_MONTH = 5;月中的某一天
public static final int HOUR = 10; 时
public static final int MINUTE = 12; 分
public static final int SECOND = 13; 秒
7、System类
§ 提供了大量的静态方法,可以获取与系统相关的信息或系统级操作在System类的API文档中,常用的方法有:
- public static long currentTimeMillis():返回以毫秒为单位的 当前时间(用来测试程序的效率)。
- public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length): 将数组中指定的数据拷贝到另一个数组中。
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。
§ Arrays.toString ();遍历数组
8、StringBuilder类:字符串缓冲区,可以提高字符串的操作效率(看成一个长度可以变化的字符串)底层没有被final修饰
§ String字符串相加内存中就会有多个字符串,占用内存空间多,效率低。
StringBuilder在内存中始终是一个数组,占用空间少,效率高,如果超出了StringBuilder的容量会自动扩容。
§ StringBuilder类的成员方法:
public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。
○ append无需接收返回值
○ 链式编程:方法的返回值是一个对象,可以根据对象继续调用方法
例子:bu1.append("abc").append(1).append(true).append(8.8).append('中');
§ toString
String->StringBuilder:可以使用StringBuilder的构造方法
StringBuilder(String str) 构造一个字符串生成器,并初始化为指定的字符串内容。
StringBuilder->String:可以使用StringBuilder中的toString方法
public String toString():将当前StringBuilder对象转换为String对象。
例子:public class Demo03StringBuilder {
public static void main(String[] args) {
//String->StringBuilder
String str = "hello";
System.out.println("str:"+str);
StringBuilder bu = new StringBuilder(str);
//往StringBuilder中添加数据
bu.append("world");
System.out.println("bu:"+bu);
//StringBuilder->String
String s = bu.toString();
System.out.println("s:"+s);
8、包装类
§ Integer是一个类
§ 装箱:把基本类型的数据,包装到包装类型中(基本类型的数据->包装类)
○ 构造方法: Integer(int value) 构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s) 构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
传递的字符串,必须是基本类型的字符串,否则会抛出异常 "100" 正确 "a" 抛异常
○ 静态方法:
static Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。
static Integer valueOf(String s) 返回保存指定的 String 的值的 Integer 对象。
§ 拆箱:在包装类中取出基本类型的数据(包装类->基本类型的数据)
成员方法:
int intValue() 以 int 类型返回该 Integer 的值。
§ 自动装箱 Integer in =1;相当于 Integer in = new Integer(1)
自动拆箱in = in +2;in +2相当于in.intValue() +2=3.
Integer比较-128~127之间的数字 可以用==应为地址相同 因为存在常量池
9、基本基本类型与字符串的转换
基本类型-->字符串
1.基本类型数据的值+"" 最简单的方式(工作中常用)
2.使用包装类中的静态方法
static String toString(int i) 返回一个表示指定整数的 String 对象。
3.使用String类中的静态方法
static String valueOf(int i) 返回 int 参数的字符串表示形式。
字符串-->基本类型
使用包装类的静态方法parseXX("字符串")
Integer类: static int parseInt(String s)
Double类: static double parseDouble(String s)