请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

Java连载56-toSting方法和equals方法

[复制链接]
查看: 12|回复: 0

8157

主题

8157

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
24481
发表于 2019-12-2 11:04 | 显示全部楼层 |阅读模式
一、关于object中的toString方式:
1.SUN公司在Object类中设想toString方式的方针:返回java工具的字符串的表示形式。
2.在现实的斥地进程中,Object里面的toString方式已经不够用了,由于Object的toString方式实现的结果不满足。Object中的toString方式实现的结果不满足。Object中的呢toString方式要被重写了。
3.println打印的假如是工具的话,那末就会默许打印工具的toString方式获得的结果。
4.SUN公司的默许toString方式是这样的
  1. public String toString(){  return getClass().getname() + "@" + Interger.toHexString(hashCode());}
复制代码

object中的toString方式返回:类名@java工具的内存地址经过哈希算法获得的int典范值在转换为十六进制。这个输出可以同等看做java工具在堆中内存地址。
5.举个例子
  1. package com.bjpowernode.java_learning;public class D56_1_ {  public static void main(String[] args) {    Object o1 = new Object();    String s1 = o1.toString();    System.out.println(s1);    Person56 p1 = new Person56("sha",52);    System.out.println(p1);//我们可以看出来,这里打印出来的不是工具,而是打印的工具的toString方式的结果,所以和第11行结果类似    String s2 = p1.toString();    System.out.println(s2);  }}class Person56 {  String name;  int age;  Person56(String name ,int age){    this.name = name ;    this.age = age;  }  //重写这个方式,就要依照项方针现实需求举行重新编写  public String toString() {    return "Person[name=" + name + ",age=" + age +"]";  }}
复制代码
我的关键词 Java连载56-toSting方式和equals方式  热门消息 1707435-20191202001717207-1547627905

二、关于Object中的equals方式
1.Object中的equals方式:
  1. public boolean equals(o2){  return (this == obj);//等号双方是援用典范,则比力内存地址,地址类似则返回true.反之,则返回false}
复制代码

//Object中的equals方式比力的是两个援用的内存地址。java工具中的equals方式的设想方针在于:判定两个工具能否一样。

2.举个例子
  1. package com.bjpowernode.java_learning;public class D56_2_equalsMethodAnalysis {  public static void main(String[] args) {    Object o1 = new Object();    Object o2 = new Object();    boolean b1 = o1.equals(o2);    System.out.println(b1);    Star56 s1 = new Star56(100,"xiaoming");    Star56 s2 = new Star56(100,"xiaoming");    System.out.println(s1.equals(s2));    //这样比力出来的是false,由于比力的是两个工具的内存地址,可是这样明显是不合适我们的预期    //实在我们想要比力的是两个工具里面的内容能否是同等的。因而我们重写     }}class Star56{  int id;  String name;  public Star56(int id,String name) {    this.id = id;    this.name = name;  }}
复制代码
我的关键词 Java连载56-toSting方式和equals方式  热门消息 1707435-20191202001743554-1838909827

三、源码:
D56_1_toStringMethodAnalysis,java
D56_2_equalsMethodAnalysis.java
地址:
https://github.com/ruigege66/Java/blob/master/D56_1_toStringMethodAnalysis,java
https://github.com/ruigege66/Java/blob/master/D56_2_equalsMethodAnalysis.java
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.接待关注微信公众号:傅里叶变更,小我公众号,仅用于进修交换,背景复兴”礼包“,获得大数据进修材料
我的关键词 Java连载56-toSting方式和equals方式  热门消息 1707435-20191202001756628-85775192



免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 淄博新闻网-淄博日报 淄博晚报 淄博财经新报 掌中淄博 淄博专业新闻资讯发布网站 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表