Object类
Java.lang.Object(类):是Java中任何“引用类型”的父类。包括自定义的类、类库中的类、数组
都继承了toString()和equals()方法
1.toString方法:
打印引用类型时,会自动调用toString方法,但是父类Object中的toString方法打印的是地址值,需要在自类中重写toString方法,以输出所有属性的值
2.equals方法:
equals方法是比较两个对象的所有属性是否相同,
如果没有覆盖重写equals方法,那么Object类中默认进行 == 运算符的对象地址比较,只要不是同一个对象,结果必然为false。
如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以覆盖重写equals方法。重写的方式和重写toString方法一致
Objects类:
包名,java.util.Objects(类),类内部定义了大量的对"对象"操作的一些"静态方法"。
1.equals(Object o1,Object o2)方法:
比较两个对象是否完全相同,但是是基于对象中重写的equals方法进行判断,如果没有重写,和toString方法一样是比较地址是否相同,但是会判断对象是否为空,不会抛出空指针异常,
虽然是基于对象中重写的equals方法,Objects 的equals方法更安全,不会发生空指针异常报错
Date类
包名:java.util.Date,表示一个特定的时间,精确到毫秒
两个构造方法
1、无参构造方法,使用当前系统时间创建一个Date对象
2、有参构造方法:Date(long m)使用一个毫秒值构造一个Date对象
成员方法:
1、public long getTime():获取此Date对象代表的毫秒值;
如果是以当前时间创建的对象,那么这个毫秒值就是从1970年01月01日零时,到现在的总毫秒值,设置了毫秒值则是设置的值
2、’public void setTime(long m):设置此Date对象的毫秒值;此Date对象所表示的日期会被更改;
DateFormat类
包名:java.text.DateFormat(抽象类):可以对Date进行“格式化显示”的一个工具类。抽象类不能创建对象,是使用子类SimpleDateFormat类创建对象
首先都需要创建一个子类的对象,构造方法SimpleDateFormat(String pattern)参数里是日期的格式
1.将Date转换为String
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");//这里的格式就是转换后打印显示的格式
String str = sdf.format(new Date());//format方法
System.out.println(str);
}
2.将String转换为Date
public static void main(String[] args) throws ParseException {
String str = "2018-09-04";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//此格式必须跟字符串中的日期格式“匹配”否则抛异常。
Date date = sdf.parse(str);
System.out.println(date);
}
Calendar类
包名:java.util.Calendar(抽象类),也是一个抽象类,不能创建对象,子类:GregorianCalendar(子类)可以使用一个简单的方式获取这个子类对象:
Calendar c = Calendar.getInstance();
1.常用方法:
1).public int get(int field):获取某个字段的值;
2).public void set(int field,int value):设置某个字段的值;
3).public void add(int field,int value):为某个字段增加指定的值;
System类
包名:java.lang.System(类),包含一些静态方法
常用方法:
1.复制数组
public static void arraycopy(Object src, int srcPos,Object dest,int destPos,int length)
//想要复制的数组,起始位置,复制存储的数组,复制长度
此方法是把一个数组的指定内容复制到另一个数组中(是两个数组)
2.获取当前时间
public static long currentTimeMillis():获取当前系统时间的毫秒值;
相当于:Date date = new Date();
long m = date.getTime();
3.结束虚拟机
public static void exit(int status):结束JVM。也就是结束程序。status值为0即可
StringBuilder类
包名:java.lang.StringBuilder(类),做字符串连接
-
构造方法:
StringBuilder()无参构造方法,自动为对象申请一个16个空位的数组,当添加的字符串存储不下,自动拓展为32位数组,并且16的数组销毁,如果再不够以此方式增加 - 常用方法:
a) public StringBuilder append(各种类型):把参数连接在数组后,(小数点也算一个字符 )
返回的是一个StringBuilder类型的值,可以直接再调用
b) public StringBuilder reverse():自动反转数组中的字符串
包装类
将基本类型“包装成”引用类型
1.基本类型分为四类八种:
byte short char int long float double boolean
对应引用类型:
Byte Short Character Integer Long Float Double Boolean
2.将某种类型转换成字符串:
格式:
int a = 24;
String s = Integer.toString(a);
将字符串转换成某种类型:
格式:
String a = "24";
int age = Integer.parseInt(a);
转换时,需要转换成int类型,那么字符串中不能有其他类型的值
所有包装类都可以转换,但是Character不可以
3.装箱和拆箱:
装箱:将"基本类型"赋值给"包装类型";
拆箱:将"包装类型"赋值给"基本类型":
Java中把包装类型和基本类型同等看待,比如int 类型的值可以直接赋值给Integer 包装类型:
Integer a = 10; //装箱
int b = a;//拆箱 (a可以++,a++也能计算)