java 对象 输出
我们在java的学习中,有时候会有这样的疑问:同一个类实例化的各个对象是不同的,在哪里能够体现?
假如像这样,只有一个类,然后内部没有具体的方法,有一个相同的成员还是final的,怎么看出来两个对象是同一个类吗?区分他们不同对象在哪里?
public class Test01 {public final String str = "abd"; }
我们可以通过实际的对象来比较,从结果来看,可以看出:
public class Test01 {public final String str = "abd";public static void main(String[]args){Test01 t=new Test01();Test01 t2 = new Test01();System.out.println(t.equals(t2));} }//结果为false
我们都知道,equals比较的是两个对象的值(即存储内容),这里 能够看出,equals返回的是false;
进一步,我们可以输出两个对象,来观察对象到底是什么
public class Test01 {public final String str = "abd";public static void main(String[]args){Test01 t=new Test01();Test01 t2 = new Test01();System.out.println(t.toString());System.out.println(t2.toString());} }//结果是:
Test01@45bab50a
Test01@64c3c749
从输出,我们直观来看,前边一部分是类名,表明这二者是属于同一个类,然后后半部分的值不同,这里代表什么含义呢?
每个对象在实例化后,由于所有类的基类都是Object,Object类中有一个方法叫做toString(),返回的是一系列文本串
文本串的构成为:getClass().getName() + '@' + Integer.toHexString(hashCode())
(1)我们使用System.out.print()输出对象时,实际都是使用了这样的一个隐含的function,返回值为类名@十六进制的哈希值
(2)不同的对象理论上说哈希值都是不会相同的,hashCode()方法要求不同的对象生成不同的哈希值,因此equals()方法会对比值之间是否相同
(3)toString()方法只反映了对象所属的类以及哈希值,不能实际反映类的内容,因此我们在设计类的时候一般要注意重写toString()方法,这样我们在输出的时候才能得到有意义的可视结果
转载于:https://www.cnblogs.com/KarayLee/p/4850424.html
java 对象 输出相关推荐
- java对象转xml 高性能_通过实例学习JAVA对象转成XML输出
一.总体说明 XML和JSON 是最为常用的数据交换格式 本例子演示如何将java对象,转成XML输出. 二.流程 1.在上文的例子中,创建一个包"com.waylau.rest.bean& ...
- java int integer内存_java中一个integer对象的内存占用是多少?可以通过java方法输出吗?...
今天翻记录看到了自己15年3月份提的问题,现在已经18年6月份了: 去年线上项目出现内存瓶颈,原因是缓存的玩家角色数据过多,在长时间不停服的情况下,导致数据越来越膨胀,之前没有清除无用缓存的机制,并且 ...
- JAVA对象转为Java String的几种常用方法
在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结.常用的方法有Object#toString(),(String)要转换的对象,St ...
- java json数据输出,java服务器端输出JSON格式数据
java服务器端输出JSON格式数据 本文我们讨论如何在服务器端输出 JSON 格式的数据.以 Java 为例,我们将演示将一个 Java 对象编码为 JSON 格式的文本. 将 String 对象编 ...
- 用 XStream 序列化/反序列化 XML 为 Java 对象(实例)
用 XStream 序列化/反序列化 XML 为 Java 对象(实例) Posted on 2007-06-05 19:06 Stephen Wong 阅读(1224) 评论(0) 编辑 收藏 网 ...
- Java对象表示方式2:XStream实现对对象的XML化
前言 上一篇文章讲到了使用Java原生的序列化的方式来表示一个对象.总结一下这种对象表示方式的优缺点: 1.纯粹的Java环境下这种方式可以很好地工作,因为它是Java自带的,也不需要第三方的Jar包 ...
- Java对象查询方法:Jxpath(转译)
Java对象查询方法:Jxpath(转译) 在JAVA对象中,如何进行有效的查询呢,这一直是个很值得探讨的问题.大家知道,在XML中,要找元素如何找呢?没错,通过XPATH 是个不错的办法,同样道理, ...
- 五种方法创建 Java 对象,你知道几种呢?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 网络 五种方法创建java对象 作为Java开 ...
- FastJson、Jackson、Gson进行Java对象转换Json的细节处理
前言 Java对象在转json的时候,如果对象里面有属性值为null的话,那么在json序列化的时候要不要序列出来呢?对比以下json转换方式 一.fastJson 1.fastJson在转换java ...
最新文章
- python简单界面实现-python实现的简单窗口倒计时界面实例
- 油管网红AI老师人设崩了:搞培训货不对板,谈退钱一律拉黑
- mysql中给用户添加密码_MySql中添加用户,新建数据库,用户授权,删除用户,修改密码...
- python爬贴吧回复内容_Python 基础语法+简单地爬取百度贴吧内容
- 计算机英语六级,英语六级作文范文:计算机
- MySQL修改数据表
- 返回一个二维整数数组中最大子数组的和(二人结对)
- JAVA8的双重循环怎么优化_Java8处理List的双层循环问题代码实例
- 关于CodeSmith生成CSLA代码的联想
- Native方式运行Fabric(非Docker方式)
- IBM Racetrack内存为移动设备带来1TB容量
- poj 1287 Networking (最小生成树Kruskal算法)
- 0 图论及应用(张先迪):课程概述
- 用IAR调试芯唐Cortex-M0系列芯片指南
- 如何用计算机弹出斗地主的声音,电脑为什么只有斗地主的时候有声音?
- 软件工程师 级别 职称 评定 从见习程序员 到 主任软件工程师
- PRINCE2主题:商业论证,收益导向的管理艺术
- 记录一次vue项目引入GoogleMap API进行地图定位
- 单页应用和多页应用的区别
- 电影院和计算机和字典的英语怎么拼,电影院用英语怎么读