Object类:
1.包: java.lang 不需要导包
2.Object类的特点:
1.java.lang.Object类是Java语言中的根类,是所有类的父类
2.java中所有的类都是直接或者间接继承Object类,所以Object类中的方法在java中的所有类中都可以使用
3.在对象实例化的时候,最终找的父类就是Object。
4.Object类中只有一个空参构造方法
3.构造方法
Object()
4.成员方法: 总共有11个,今天只学2个
- public String toString():返回该对象的字符串表示。
- public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”。
toString()方法:
1.toString方法返回的是对象的字符串形式数据,格式为: 类的路径+@+地址值
2.当输出打印对象的时候,其实默认会调用类中的toString()方法
3.一般打印对象,不希望打印对象的地址值,而是打印对象的属性值--->这个时候就需要重写toString()方法
总结:
以后打印对象的时候,如果不想打印出来的格式为:类的路径+@+地址值,那么就需要重写toString方法
equals()方法:比较2个对象是否相等
默认地址比较
如果没有覆盖重写equals方法,那么Object类默认进行==运算符的对象地址值比较,只要不是同一个对象,结果必然为false。
对象内容比较
如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以覆盖重写equals方法
总结:
1.如果要比较的2个对象所属的类中没有重写equals方法,那么比较的是地址值
2.如果所属的类中重写了equals方法,那么就按照重写的比较规则来比较
Objects类中的equals()方法:
- public static boolean equals(Object a, Object b):判断两个对象是否相等。
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
Date 日期类:
1.java.util.Date类 表示特定的瞬间,精确到毫秒
2.构造方法:
- public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
- public Date(long date):分配Date对象并初始化此对象,以表示自从 标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以 来的指定毫秒数。
简单的说就是 从标准基准时间 指定毫秒数 偏移的一个具体时间
tips: 由于我们处于东八区,所以我们的基准时间为1970年1月1日8时0分0秒。
3.成员方法:
public long getTime() 把日期对象转换成对应的时间毫秒值。
1.单位是毫秒值
2.计算的是和标准基准时间相差的毫秒值
为什么需要日期格式化对象
因为Date对象与String对象之间需要进行来回转换
DateFormat类
1.DateFormat类是一个抽象类,不能直接创建对象,只能通过其子类对象来创建
2.java.text.SimpleDateFormat。就是DateFormat类的子类
3.构造方法:
- public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。
参数pattern是一个字符串,代表日期时间的自定义格式。
常用的格式规则为:
y 年
M 月
d 日
H 时
m 分
s 秒
日期对象和字符串之间的转换
- 格式化:按照指定的格式,从Date对象转换为String对象。
- public String format(Date date):将Date对象格式化为字符串。
- 解析:按照指定的格式,从String对象转换为Date对象。
- public Date parse(String source):将字符串解析为Date对象
java.util.Calendar是日历类:
构造方法:
- public static Calendar getInstance():使用默认时区和语言环境获得一个日历
常用方法
根据Calendar类的API文档,常用方法有:
- 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对象。
Calendar类中提供很多成员常量,代表给定的日历字段:
YEAR 年
MONTH 月
DAY_OF_MONTH 日
HOUR 时
MINUTE 分
SECOND 秒
System类中的常用的方法有:
- public static long currentTimeMillis():返回以毫秒为单位的当前时间。
- public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):
将数组中指定的数据拷贝到另一个数组中。
src: 代表源数组 要拷贝的数组
srcPos: 代表拷贝元素的起始索引 也就是说从哪个元素开始拷贝
dest: 代表目标数组 也就是拷贝到哪里去
destPos: 目标数组中接收元素的起始索引
length: 拷贝的长度 也就是拷贝多少个元素
为什么会出现 StringBuilder 来表示字符串
由于String类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象。
String 和 StringBuilder区别:
1.String类的字符串是不可变的,StringBuilder类的字符串是可变的
2.String类的字符串拼接可以使用+运算符,而StringBuilder不可以
3.String类的字符串拼接是创建新的字符串,而StringBuilder类的字符串拼接是直接在末尾进行追加
java.lang.StringBuilder类。
构造方法:
- public StringBuilder():构造一个空的StringBuilder容器。
- public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。
成员方法:
- public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。
- public String toString():将当前StringBuilder对象转换为String对象。
包装类:
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double
boolean Boolean
- 装箱:从基本类型转换为对应的包装类对象。
- 拆箱:从包装类对象转换为对应的基本类型
构造方法:
Integer(int value) 构造一个新分配的 Integer对象,该对象表示指定的 int值。
int intValue() 将 Integer的值作为 int
static Integer valueOf(int i) 返回一个 Integer指定的 int值的 Integer实例。
static Integer valueOf(String s) 返回一个 Integer对象,保存指定的值为 String 。 注意参数中的字符串一定要是纯数字字符串
String转换成对应的基本类型
除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型:
- public static byte parseByte(String s):将字符串参数转换为对应的byte基本类型。 Byte
- public static short parseShort(String s):将字符串参数转换为对应的short基本类型。Short
- public static int parseInt(String s):将字符串参数转换为对应的int基本类型。Integer
- public static long parseLong(String s):将字符串参数转换为对应的long基本类型。 Long
- public static float parseFloat(String s):将字符串参数转换为对应的float基本类型。Float
- public static double parseDouble(String s):将字符串参数转换为对应的double基本类型。Double
- public static boolean parseBoolean(String s):将字符串参数转换为对应的boolean基本类型。Boolean
原文:https://www.cnblogs.com/woyaozilv/p/10627435.html