类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
如果一个类没有特别指定父类, 那么默认则继承自Object类。
主要学习其中两种方法:
public String toString( ):返回该对象的字符串表示。
public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”。
toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。
由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。
在我们直接使用输出语句输出对象名的时候,其实通过该对象调用了其toString()方法。
如果没有覆盖重写equals方法,那么Object类中默认进行==
运算符的对象地址比较,只要不是同一个对象,结果必然为false。
如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以覆盖重写equals方法。
类 Date 表示特定的瞬间,精确到毫秒。
public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
public Date(long date):分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。
tips: 由于我们处于东八区,所以我们的基准时间为1970年1月1日8时0分0秒。
简单来说:使用无参构造,可以自动设置当前系统时间的毫秒时刻;指定long类型的构造参数,可以自定义毫秒时刻。
DateFormat类
是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。
格式化:按照指定的格式,从Date对象转换为String对象。
解析:按照指定的格式,从String对象转换为Date对象。
格式:
public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。
参数pattern是一个字符串,代表日期时间的自定义格式。
标识字母(区分大小写) | 含义 |
---|---|
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
DateFormat类的常用方法有:
public String format(Date date):将Date对象格式化为字符串。
public Date parse(String source):将字符串解析为Date对象。
Calendar类
Calendar为抽象类,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,返回子类对象。日历类就是方便获取各个时间属性的。
常用成员方法:
get方法用来获取指定字段的值,set方法用来设置指定字段的值;
add方法可以对指定日历字段的值进行加减操作,如果第二个参数为正数则加上偏移量,如果为负数则减去偏移量。
getTime方法并不是获取毫秒时刻,而是拿到对应的Date对象。
注意事项:
西方星期的开始为周日,中国为周一。
在Calendar类中,月份的表示是以0-11代表1-12月。
日期是有大小关系的,时间靠后,时间越大。
System类
常用方法:
public static long currentTimeMillis( ):返回以毫秒为单位的当前时间。
常用于检验程序的效率。
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):将数组中指定的数据拷贝到另一个数组中。
StringBuilder类
字符串缓冲区,可以提高字符串的操作效率(看成一个长度可以变化的字符串)。
底层也是一个数组,但是没有被final修饰,可以改变长度。
StringBuilder在内存始终是一个数组,占用空间少,效率高。
如果超出了StringBuilder的容量,会自动扩容。
常用构造方法有2个:
public StringBuilder( ):构造一个空的StringBuilder容器。
public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。
常用的方法有2个:
public StringBuilder append(…):添加任意类型数据的字符串形式,并返回当前对象自身。
注意:append方法返回的是this,调用方法的对象
链式编程:方法返回值是同一个对象所以可以连续调用方法。
例如:bu.append(“abc”).append(“456”).append(“true”).append(“中”)
public String toString():将当前StringBuilder对象转换为String对象。
包装类
基本数据类型使用起来非常方便,但是没有对应的方法里啊操作这些基本类型的数据,可以使用一个类型把基本类型的数据装起来,在类中定义一些方法。这个类就叫做包装类。
我们可以使用类中的方法来操作这些基本类型数据。
基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“:
装箱:从基本类型转换为对应的包装类对象。
拆箱:从包装类对象转换为对应的基本类型。
用Integer与 int为例:
基本数值---->包装对象
Integer i = new Integer(6); //使用构造函数函数
Integer iii = Integer.valueOf(6); //使用包装类中的valueOf方法
包装对象---->基本数值
int num = i.intValue();
由于我们经常要做基本类型与包装类之间的转换,从Java 5(JDK 1.5)开始,基本类型与包装类的装箱、拆箱动作可以自动完成。
基本类型与字符串之间的转换
基本类型转换为String
基本类型转换String总共有三种方式:
1 基本类型的值+“”是最简单的方法;
2 包装类的静态方法toString(参数),不是object类的toString( )重载;
static String toString(int i)返回一个表示指定整数的string对象。
3 string类的静态方法valueOf(参数)
static String valueOf(int i)返回int参数的字符串表示形式。
String转换成对应的基本类型
使用包装类的静态方法parseXXX(“字符串”)
例如:
public static int parseInt(String s)