object类的常见方法
-
1.object类的hascode方法
-
- 返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。
- 不是对象的实际地址值,可以理解为逻辑地址值。
-
-
public class Test02 { public static void main(String[] args) { Object o1 = new Object(); Object o2 = new Object(); System.out.println(o1.hashCode()); System.out.println(o2.hashCode()); System.out.println(o1==o2); }
-
-
2.Object类的getClass()方法
-
-
通过Class类中的一个方法,获取对象的真实类的全名称
-
public static void main(String[] args) { Object o = new Object(); System.out.println(o.getClass()); Object o1 = new Object(); Class<?> o1Class = o1.getClass(); System.out.println(o1Class); }
-
同一个对象真实类全名称,都是一样的,因为字节码文件只加载了一次。
-
-
3.Obiect类的toString()方法
-
public class Test02 { public static void main(String[] args) { Date date = new Date(2020,12,12); System.out.println(date); } } class Date{ int year; int month; int day; public Date() { } public Date(int year, int month, int day) { this.year = year; this.month = month; this.day = day; } @Override public String toString() { return "Date{" + "year=" + year + ", month=" + month + ", day=" + day + '}'; } }
-
-
4.Object类的equals()方法
-
public class Test02 { public static void main(String[] args) { Date date = new Date(2020,12,12); Date date1 = new Date(2020,12,12); System.out.println(date.equals(date1)); } } class Date{ int year; int month; int day; public Date() { } public Date(int year, int month, int day) { this.year = year; this.month = month; this.day = day; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Date date = (Date) o; return year == date.year && month == date.month && day == date.day; } @Override public int hashCode() { return Objects.hash(year, month, day); } }
-
-
5.Object类的clone() 方法
-
-
public class Test02 { public static void main(String[] args) throws CloneNotSupportedException { Date date = new Date(2020,12,12); Date date1 = new Date(); date1.clone(); System.out.println(date1); } } class Date implements Cloneable{ int year; int month; int day; public Date() { } public Date(int year, int month, int day) { this.year = year; this.month = month; this.day = day; } @Override public Object clone() throws CloneNotSupportedException { return super.clone(); } @Override public String toString() { return "Date{" + "year=" + year + ", month=" + month + ", day=" + day + '}'; } }
-
-
6.Scanner类的hasNextXxx()和nextXxx()方法
-
-
hasNextXxx() 判断下一个是否是某种类型的元素,其中Xxx可以是Int,Double等, 如果需要判断是否包含下一个字符串,则可以省略Xxx
-
nextXxx() 获取下一个输入项。Xxx的含义和上个方法中的Xxx相同
-
public int nextInt():获取一个int类型的值
-
public String nextLine():获取一个String类型的值
-
public String next():获取一个String类型的值
-
public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入:"); String s = sc.nextLine(); System.out.println("请输入:"); String s1 = sc.next(); System.out.println("请输入:"); int s2 = sc.nextInt(); }
System.out.println("请输入:"); String s1 = sc.next(); System.out.println("请输入:"); int s2 = sc.nextInt(); }
-