Java常用类Object

 1 package com.lv.study.pm;
 2 
 3 public class TestObject {
 4 
 5     public static void main(String[] args) {
 6         
 7 //        Object obj;
 8 //        obj=10;
 9 //        
10 //        int number=(int) obj;
11 //        
12 //        System.out.println(obj);
13 //        System.out.println(number);
14         
15         
16         test1(new Integer(20));
17         test1('a');
18         test1("abc");
19         test1(new Person());
20     }
21     
22     //我们object作为形参,但是我们大家一定要在必要的场景才使用这种
23     //因为我们这样用的话,对于参数的处理非常麻烦
24     public static void test1(Object obj){
25         
26         //obj的参数囊括了我们java里面的所有对象
27         //你只能进行通用的操作
28         Integer it =(Integer) obj;
29         
30         System.out.println(obj);
31     }
32     
33     //object 作为返回值  可以返回任意的值
34     //也是要在特定的场景下  不然处理返回值也特别的麻烦
35     public static Object test2(int number){
36         
37         if(number%5==0){
38             return 333;
39         }else if(number%5==2){
40             return "abc";
41         }else if(number%5==6){
42             return new Object();
43         }else if(number%5==1){
44             return new Object(){};
45         }else{
46             return new Integer(20);
47         }
48     }
49 }

重写一下tostring equals方法

 1 package com.lv.study.pm;
 2 
 3 public class TestObjectFunToString {
 4 
 5     public static void main(String[] args) {
 6 
 7         Object obj1=new Person();
 8         
 9         int[] nums =new int[5];
10         String []strs=new String[5];
11         
12         System.out.println(nums);
13         System.out.println(strs);
14         
15         //结果一模一样
16         System.out.println(obj1.toString());
17         //打印的时候会默认调用,就是用来输出的
18         System.out.println(obj1);//对对象进行打印输出的时候会默认调用 to String 方法
19         
20         //只不过 我们object 默认的tostring方法
21         
22         //都是字符串
23         //1  当前这个对象的类全名
24         // 2 @ 符号
25         // 3 当前这个对象在堆里面的地址 进行hash以后的数字
26         
27     }
28 
29 }

hashcode算法

 1 package com.lv.study.pm;
 2 
 3 public class TestObjectFunHashCode {
 4 
 5     public static void main(String[] args) {
 6 
 7         Object obj1=new Person();
 8         Object obj2="abc";
 9         Object objabc="abc";
10         Object obj3=200;
11         Object obj4=new Person();
12         
13         //返回的就是一串整形的数字
14         System.out.println(obj1.hashCode());
15         System.out.println(obj2.hashCode());
16         System.out.println(objabc.hashCode());
17         System.out.println(obj3.hashCode());
18         System.out.println(obj4.hashCode());
19         //来判断两个物件是不是同一个
20         
21         //什么是hash
22         //就是把一个物件  经过一系列的算法 得到一串整形的数字
23         
24         //你把同一个物件  进行hash 一定得到的是同一串数字
25         //我们hash 只要有一个bit 不一致 得到的结果一定是和上一次不一样
26         //不能保证不同的物件 hash值一定不一样
27     }
28 
29 }
原文地址:https://www.cnblogs.com/dabu/p/12398814.html