Sup*_*tar 2 java object-to-string
由于myObject.toString()失败myObject是null(抛出a NullPointerException),因此它更安全myObject+"",因为它本质上正在做String.valueOf(myObject).concat(""),但不会失败,而是会导致字符串"null".
但是,这是一个好习惯吗?我的第一个想法是,似乎可能需要更长的时间才能执行,因为它隐含地调用了两种方法,但它确实有助于保证软件不会崩溃.
你当然可以做到myObject+"".但正如您已经知道的那样,这需要一些额外的方法调用.这将取决于您正在使用它的应用程序.这个额外的方法调用是否会成为应用程序的瓶颈?我想这很少是一个问题.或者,为了避免额外的方法调用,您可以直接使用String#valueOf()方法.但这取决于你想要处理null的方式.在这种情况下,我肯定不会正常进行.至少记录一条指示null参考的消息.
此外,如果您已经使用Java 7,那么您可以使用为您Objects.toString(Object)处理的方法null.此外,该方法返回"null"的null引用.
所以,现在是你的电话.我给了你一些选择.您可能希望抛出异常,日志消息并继续使用"null"字符串,或者某些默认字符串"".