重载tostring()方法重要性】的更多相关文章

曾经知道继承于object的类都有这个toString方法,重来没在项目中使用过这方法,同一时候也没对该方法进行重载.在如今这个公司上班,才知道了toString方法的重要性. 并且也懂得了重载tostring方法的必要性. 那么toString方法有哪些用呢.下面是我总结的几个用处吧.并且这几个用处对我来说是挺有帮助的. 1.在须要大量日志输出的系统中重载toString()方法是很必要的. 我们在输出日志时.仅仅需调用对象的该方法就能把此时的传入数据或结果数据进行格式化的输出,这样的数据对安…
如果直接在日志或者System.out.println中打印java对象,会打印这个对象的内存地址,而不是具体内容. 为了便于调试,一般的做法有2种: 1.重写toStrong方法 2.将对象传入JSON.toJSONString()方法 如果是在日志中打印,一般不建议使用JSON.toJSONString()方法,因为日志方法中,最好不要有表达式和方法. 因此,重写toStrong方法,是比较好的做法. 那么问题来了,如何优雅的重写toStrong方法呢,lombok可以帮助我们很方便的重写t…
本文涉及到的概念 1.重载toString方法的意义 2.两个注意事项   1.重载toString方法的意义 重载toString,返回关于当前实例的描述信息.这在调试错误,打印实例信息时,可以带来有意义的信息.如果不重载,使用默认的toString实现,返回的含义不清楚.重载toString的目的是,给使用当前实例的客户端返回有意义的信息.   2.两个注意事项 a.重载toString时,如果返回的字符串是指定格式的,那么,要添加注释说明该格式.并且,在以后的实现中,不要轻易去修改该格式,…
之前有篇博客(http://www.cnblogs.com/lz3018/p/5243503.html)介绍以SequenceFile作为输入源进行矩阵乘法的过程,首先是将矩阵存储到SequenceFile文件中,然后使用hadoop命令:hadoop fs -text /10IntArray  查看此SequenceFile文件中内容的时候,显示如下: 而我们写SequenceFile文件的代码如下: /** * Created with IntelliJ IDEA. * User: hado…
重写(继承关系) 子类得成员方法和父类的成员方法,方法名,参数类型,参数个数完全相同,这就是子类的方法重写了父类的方法. 重载 在一个类里有两个方法,方法名是完全一样的,参数类型或参数个数不同. 例子: //父类 public class Pet { public void eat(){ System.out.println("pet eat"); } public void eat(String a){ //重载,同一个类,方法名相同,参数类型或个数不同 System.out.pri…
  C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString("E") 2.500000E+005 F 固定点 25.ToString("F2") 25.00 G 常规 2.5.ToString("G") 2.5 N 数字 2500000.ToString("N") 2,500,000…
int[] arr ={1,2,3,4,5}; String arrString = Arrays.toString(arr); //输出[I@7150bd4d System.out.println(arrString); //输出[1, 2, 3, 4, 5] java里,所有的类,不管是java库里面的类,或者是你自己创建的类,全部是从object这个类继承的.object里有一个方法就是toString(),那么所有的类创建的时候,都有一个toString的方法. java输出用的函数pr…
java里,所有的类,不管是java库里面的类,或者是你自己创建的类,全部是从object这个类继承的.object里有一个方法就是toString(),那么所有的类创建的时候,都有一个toString的方法. 这个方法是干什么的呢? 首先我们得了解,java输出用的函数print();是不接受对象直接输出的,只接受字符串或者数字之类的输出.那么你想把一个创建好的对象拿来输出怎么办?例如: package com.spring.h3; public class Test2 { public st…
问题描述 今天在使用spotbugs代码走查时发现这样一个问题,如下, String[] myArray=new String[] {"1","2","3"}; System.out.println(myArray.toString()); 一看看上去这个代码没什么问题,打印了数组的值,关键是打印出的结果是什么?结果如下 [Ljava.lang.String;@7852e922 那么问题来了,打印出上面一行东西,这是什么,初衷是要打印数组中的值,…
本文涉及到的概念 1.浅拷贝和深拷贝 2..clone方法的作用和使用方式 3.拷贝构造器和拷贝工厂   1.浅拷贝和深拷贝 浅拷贝 一个类实现Cloneable接口,然后,该类的实例调用clone方法,返回一个新的实例. 新的实例与原来的实例是不同的对象. 新的实例的各个非引用类型的成员变量值与原来的实例的成员变量值相同. 对于引用类型的成员变量,新实例的成员变量和旧实例的成员变量,都是指向相同的对象,引用值相同,这种称作浅拷贝(shallow copying) public class Ca…