欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 3月30号

3月30号

2025/4/2 7:10:28 来源:https://blog.csdn.net/2401_88704316/article/details/146771512  浏览:    关键词:3月30号

//        1.toString 返回对象的字符串表示形式Object obj=new Object();String str1=obj.toString();System.out.println(str1);//java.lang.Object@b4c966a//        核心逻辑:
//        当我们打印一个对象的时候,底层会调用对象的toString方法,把对象变成字符串
//        然后再打印在控制台上,打印完毕换行处理System.out.println(obj);//java.lang.Object@b4c966a
//        toStrin方法的结论:
//        如果我们打印一个对象,想要看到属性值的话,那么就重写toString方法就可以了
//        在重写过程中,把对象的属性值进行比较
//        public boolean equals(Object obj)  比较两个对象是否相等String s1=new String();String s2=new String();boolean result1=s1.equals(s2);System.out.println(result1);//true//        结论:
//        1.如果没有重写equals方法,那么默认使用Object中的方法进行比较,比较的是地址值是否相等
//        2.一般来讲地址值对我们意义不大,所以我们会重写,重写之后比较的就是对象内部的属性值了
        String s="abc";StringBuffer sb=new StringBuffer("abc");System.out.println(s.equals(sb));//false
//        因为equals方法是被s调用的,而s是字符串
//        所以equals要看String类中的
//        字符串中的equals方法,先判断参数是否为字符串
//        如果是字符串,再比较内部的属性
//        但是如果参数不是字符串,直接返回falseSystem.out.println(sb.equals(s));//false
//        因为equals方法是被sb调用的,而sb是stringBuilder
//        所以这里的equals方法要看stringBuilder中的equals方法
//        那么在stringBuilder当中,没有重写equals方法
//        使用的是object中的
//        在Object当中默认是使用==号比较两个对象的地址值
//        面这里的s和sb记录的地址值是不一样的,所以结果返回false

对象克隆:

把a对象的属性值完全拷贝给b对象,也叫做对象拷贝,对象复制

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词