Object类 常用API
Object类
特点: java.lang.object 是java所有类的根类(父类),里面所描述的方法子类都能使用
方法: toString
toString方法返回该对象的字符串表示,
对象的类型+@+内存地址值
覆盖重写toString
public class Person {
private String name;
private int age;
@Override
public String toString() {
return "Person{" + "name='" + name + '\'' + ", age=" + age + '}';
}
//因为toString默认返回的是地址值,所以一般进行重写得到相应字符串表达
}
equals方法
public boolean equals (Object obj):
表示他某个对象是否与此对象 "相等"
默认地址比较:
equals默认比较的是 ==运算符的对象地址 ,不是同一个对象则为false
对象内容比较:
一般equals方法需要进行覆盖重写,用来使两个对象判断相同
@Override
public boolean equals(Object o) {
// 如果对象地址一样,则认为相同
if (this == o)
return true;
// 如果参数为空,或者类型信息不一样,则认为不同
if (o == null || getClass() != o.getClass())
return false;
// 转换为当前类型
Person person = (Person) o;
// 要求基本类型相等,并且将引用类型交给java.util.Objects类的equals静态方法取用结果
return age == person.age && Objects.equals(name, person.name);
}
Date类
常用方法
public long getTime()
把日期对象转换成对应的时间毫秒值。
DateFormat类
java.text.DateFormat
是日期/时间格式化子类的抽象类.
因为是抽象类,所以需要子类,一般用java.text.SimpleDateFormat
来指定格式化
构造方法:
public SimpleDateFormat(String pattern)
//pattern是一个字符串,代表日期时间的自定义格式
格式规则
常用的格式规则为:
标识字母(区分大小写) | 含义 |
---|---|
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
常用方法
public String format(Date date):
//将Date对象格式化为字符串。
public Date parse(String source):
//将字符串解析为Date对象。
例子
请使用日期时间相关的API,计算出一个人已经出生了多少天。
public static void function() throws Exception {
System.out.println("请输入出生日期 格式 YYYY-MM-dd");
// 获取出生日期,键盘输入
String birthdayString = new Scanner(System.in).next();
// 将字符串日期,转成Date对象
// 创建SimpleDateFormat对象,写日期模式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 调用方法parse,字符串转成日期对象
Date bD = sdf.parse(birthdayString);
// 获取今天的日期对象
Date todayDate = new Date();
// 将两个日期转成毫秒值,Date类的方法getTime
long birthdaySecond = bD.getTime();
long todaySecond = todayDate.getTime();
long secone = todaySecond-birthdaySecond;
if (secone < 0){
System.out.println("还没出生呢");
} else {
System.out.println(secone/1000/60/60/24);
}
}
Calendar类
日历类,抽象类
通过静态方法创建,返回子类对象
Calendar静态方法
public static Calendar getInstance():
//使用默认时区和语言环境获得一个日历
常用方法
public int get(int filed):返回给定日历字段的值
public void set(int filed,int value):将指定日历字段设置
public abstract void add(int filed,int amout):为给定日历字段添加/减去指定的时间量
public Date getTime() :返回Calender时间值
get/set方法
public class CalendarUtil {
public static void main(String[] args) {
//创建一个对象calender
Calender cal = Calender.getInstance();
//设置年
//get方法
int year = cal.get(Calendar.YEAR);
//月为MONTH
//日为DAY_OF_MONTH
//set方法
cal.set(Calendar.YEAR, 2020);
}
}
add方法
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, 2); // 加2天
cal.add(Calendar.YEAR, -3); // 减3年
getTime方法
getTime方法不是获取毫秒时刻,是为了拿到Date对象
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
System.out.println(date); // 取到时间
System类
currentTimeMillis方法
获取当前时间与1970.01.01.00:00毫秒差值
System.out.println(System.currentTimeMillis());
//获取当前时间的毫秒值
arraycopy方法
将数组指定的数据拷贝到另外一个数组
int[] src = new int[]{1,2,3,4,5};
int[] dest = new int[]{6,7,8,9,10};
System.arraycopy(src , 0 , dest,0,3);
//src数组元素[1,2,3,4,5]
//dest数组元素[1,2,3,9,10]