zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    算法---十大经典排序算法
    算法---待整理
    iOS面试题整理---[难度]***
    spring mvc(注解)上传文件的简单例子
    面试感悟:3年工作经验程序员应有的技能
    一个 IT 青年北漂四年的感悟
    成为更优秀程序员的关键:更多的阅读
    数组参数 有params 区别
    对C# 集合类的总结
    c#前缀
  • 原文地址:https://www.cnblogs.com/dabu/p/12398814.html
Copyright © 2011-2022 走看看