??????????toString?????????????????????д???????????????????????toString???????????????????????????????????????????????toString??????????introspection???????????????????
?????????????????????????Javadoc??????Object.toString?????????“????????????????????y?????????????????????????????????????д?÷???”?????????????“????”??“???”?????????????IDE??????????????equals/hashcode/toString??Щ?????????????????????????????????ЩIDE?????????????????????????toString???????????????+?????StringBuffer??StringBuilder??ToStringBuilder??Commons Lang 3???? ReflectionToStringBuilder (Commons Lang 3)??Guava????Objects.toString……??????????
??????????????????toString????????????Ч???????2??????????????????????JMH?????????????д???й????????£?????????????JMH??ι?????????
??????????????У????????????????????????ü?С????????????????????????IDE????????в??toString??????????????????????????á???????鷨??????????????????????????£?????Щ??????????????????????С?????????????????toSting??????????о??????
?????? + ?????????
??????????????Ч???????????? + ?????????????????????????а?????÷????“????? + ???????????????”???????ú?????Ч?????JVM?????????????????? + ????????string builder????????????????????????????????null????????????????????????????
????????????????????JMH????????????????
????public String toString() {
????return "MyObject{" +
????"att1='" + att1 + ''' +
????"?? att2='" + att2 + ''' +
????"?? att3='" + att3 + ''' +
????"} " + super.toString();
????}
????// Average performance with JMH (ops/s)
????// (min?? avg?? max) = (140772??314?? 142075??167?? 143844??717)
????// ???JMH??????????????
????// (С?? ????? ??) = (140772??314?? 142075??167?? 143844??717)
??????Objects.toString?????????
????Java SE 7??????Objects????????Щ?????????Objects.toString????????????????null????????????null??????????????????????????????????null???????????
????public String toString() {
????return "MyObject{" +
????"att1='" + Objects.toString(att1) + ''' +
????"?? att2='" + Objects.toString(att2) + ''' +
????"?? att3='" + Objects.toString(att3) + ''' +
????"} " + super.toString();
????}
????// Average performance with JMH (ops/s)
????// (min?? avg?? max) = (138790??233?? 140791??365?? 142031??847)
????// ???JMH??????????????
????// (С?? ????? ??) = (138790??233?? 140791??365?? 142031??847)
????StringBuilder
?????????????????StringBuilder???????????????????????á?????????????????????????????????att1?? att2??att3??????????????????????JMH?????????????????????????????????????????????????