只是想知道是否有任何理由toString()
显式地调用对象以进行打印?
MyClass obj = new MyClass(); // Assume toString() method is overriden in this class
System.out.println(obj);
System.out.println(obj.toString());
我显然使用了第一种方法,但是我的一位同事认为我应该退缩obj.toString()
!我觉得这toString()
是多余的,不使用它实际上减少了NPE
!
我是否缺少某些东西?人们是否有任何toString()
明确使用的理由?
如果obj为null,则第二次调用将生成您所指出的NPE。正如@Louis所说,只要obj不为null,它们基本上是同一件事。
如果我想自定义MyClass的文字表示形式,则我希望重写toString(),在不使用.toString()方法的情况下调用它来避免NPE的风险。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句