2021-1-17复习java第五天(查缺补漏)
因为有编程语言基础,这里会加快复习的进度,加快完成正常每天的工作任务,熟练的只做简单记录,不熟练的细化研究。
Object&Objects&Date&Calendar&StringBuilder
Object类
- 所有类的父类,超类,最顶层的类
Object类中的一些基本方法
public boolean equals(object obj){
return this == obj;
}//引用类型比较的是地址,this:谁调用的equals谁就是this
public String toString();//看一个类是否重写了toString()方法,打印该类的对象,若打印的是地址则未重写,若打印的是其他信息,则重写了toString()方法。
Objects类
该类中也有一个equals()方法,这个方法的健壮性略有提高:
public static boolean equals(Object a,Object b){
return (a==b) || (a != null && a.equals(b));//防止发生空指针异常
}
Date类
时间原点为1970年1月1日0时,因为中国在东八区,所以在中国的时间原点为1970年1月1日8时
- 带参构造:Date(long date);//传递毫秒值,并转换为日期
- 无参构造:Date();//获取当前系统日期和时间
- 成员方法:long getTime();//获取当前时间的毫秒值
DateFormat类
它是一个抽象类继承了Format类
成员方法:
- String format(Date);//按指定格式将Date类型的日期格式化为符合格式的字符串
- Date parse(String source);//把符合模式的字符串解析为Date类型日期
由于该类时抽象类无法创建对象,故使用其子类SimpleDateFormat
构造SimpleDateFormat(String pattern)
pattern传递指定模式y(年),M(月),d(日),H(时),m(分),s(秒)例如:“yyyy-MM-dd HH:mm:ss”
Calendar类
- 抽象类,包括操作日历字段的方法(YEAR,MONTH,DAY_OF_MONTH,HOUR)
- 静态方法:getInstance(),返回Calendar子类对象,由此看出它不采用new的方式创建对象
成员方法
- int get(int n);//获取指定日历字段Calendar.getInstance().get(Calendar.YEAR)
- void set (int n,int value);//将指定日历字段设置为指定值(可以同时设置年月日)
- void add(int n,int value);//将指定日历字段增加或减少指定值Calendar.getInstance().add(Calendar.YEAR,2);//2021+2,如果是-2,2021-2
- public Date getTime();//返回一个表示此Calendar值的Date对象
StringBuilder类
-
字符串缓冲区,但不像String字符串被final修饰,它可以改变长度,提高效率,内存中始终是个数组,占用空间少,超出容量自动扩容
-
构造:
public StringBuilder();
public StringBuilder(String str); -
常用方法
public StringBuilder append();//可添加任意数据类型数据,返回对象本身毋须接受返回值 -
String和StringBuilder可以互相转换
StringBuilder–>String ,用toString();
String–>StringBuilder,用构造方法 public StringBuilder(String str);
包装类
Integer i = 1;//自动装箱 int --> Integer
包装类无法直接参与计算,可自动转换为基本数据类型再计算
i+2 => i.intValue() + 2;自动拆箱
i = i + 2 => i = new Integer(3),自动装箱
Integer
构造:
Integer(int value);//构造指定值
Integer(String str);//str必须为数字,若为其他则报异常
静态:(装箱)
static Integer valueOf(int i);
static Integer valueOf(String str);
成员方法:(拆箱)
int intValue();//以int类型返回该Integer值
基本数据类型–>字符串
- 基本数据类型+""
- static String toString(int i);//Integer.toString();
- static String valueOf(int i);
字符串–>基本数据类型
包装类中都有一个静态方法:parsexxx(“字符串”);
static int parseInt(String str);
static int parseDouble(String str);