文章目录
一、Object类
1、概述
java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。
如果一个类没有特别指定父类,那么默认则继承自Object类。
2、toString方法
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
public static void main(String[] args) {
Person person = new Person("james", 18);
System.out.println(person);
//Person{name='james', age=18} 不是地址值说明重写了toString方法
}
3、equals方法
在JavaBean中重写equals&hashCode方法
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Person)) return false;
Person person = (Person) o;
return getAge() == person.getAge() &&
Objects.equals(getName(), person.getName());
}
@Override
public int hashCode() {
return Objects.hash(getName(), getAge());
}
Person person1 = new Person("wade", 10);
boolean b1 = person1.equals(person);
System.out.println(b1); //false
Person person2 = new Person("james", 18);
boolean b2 = person2.equals(person);
System.out.println(b2); //true
二、Date类
1、概述
java.util.Date类表示特定的瞬间精确到毫秒。
2、常见方法
public static void main(String[] args) {
//创建日期对象 获取当前的时间
Date date1 = new Date();
System.out.println(date1); //Sat Jan 28 21:35:30 CST 2023
System.out.println("========");
//创建日期对象 把当前的毫秒值转成日期对象
Date date2 = new Date(0);
System.out.println(date2); //Thu Jan 01 08:00:00 CST 1970
}
三、DateFormat类
1、概述
java.text.DateFormat类是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。
2、常见方法
public static void main(String[] args) {
Date date = new Date();
//创建日期格式化对象 在获取格式化对象时可以指定风格
DateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日");
String str = dateFormat.format(date);
System.out.println(str); //2023年01月28日
}
public static void main(String[] args) throws ParseException {
//把String转换成Date对象
DateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日");
String str = "2018年12月11日";
Date date = dateFormat.parse(str);
System.out.println(date); //Tue Dec 11 00:00:00 CST 2018
}
四、Calendar类
1、概述
java.util.Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。
2、常见方法
public static void main(String[] args) {
//创建Calendar对象
Calendar cal = Calendar.getInstance();
//设置年
int year = cal.get(Calendar.YEAR);
//设置月
int month = cal.get(Calendar.MONTH) + 1;
//设置日
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "年" + month + "月" + dayOfMonth + "日"); //2023年1月28日
cal.set(Calendar.YEAR, 2020);
System.out.println(year + "年" + month + "月" + dayOfMonth + "日"); //2020年1月28日
}
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
System.out.println(date); //Sat Jan 28 22:30:13 CST 2023
}
五、System类
1、概述
java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作。
2、使用方法
public static void main(String[] args) {
//获取当前时间毫秒值
System.out.println(System.currentTimeMillis()); //1674916523933
}
六、StringBuilder类
1、概述
java.lang.StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。
2、使用方法
public static void main(String[] args) {
StringBuilder stringBuilder1 = new StringBuilder();
System.out.println(stringBuilder1);
System.out.println("========");
StringBuilder stringBuilder2 = new StringBuilder("yolo");
System.out.println(stringBuilder2); //yolo
System.out.println("========");
StringBuilder stringBuilder3 = new StringBuilder();
StringBuilder s = stringBuilder3.append(1).append("hello").append(0.0);
System.out.println(s); //1hello0.0
String string = s.toString();
System.out.println(string); //1hello0.0
}