【发布时间】:2013-06-10 17:39:53
【问题描述】:
今天早上我发现了一个有趣的问题——cast object to string check if valid,我发现有两种类型的答案。一种是将对象转换为字符串,另一种是获取该对象的字符串表示形式(例如,使用 String.valueOf() 或 toString())。我的问题是:最佳实践是什么?它们有什么区别?
在我提出这个问题之前,我发现了几个相关的现有问题,但我没有找到一个可以回答我的问题的问题。如果我错过了重要的问题,请原谅我,希望您不介意指出我的答案。
谢谢,
【问题讨论】:
-
IMO 我会以安全的方式使用
instanceof。在String对象中执行toString似乎是多余的,如果对象引用不是String并且没有覆盖toString方法,它可能会导致未知行为。 -
@LuiggiMendoza,感谢您的快速回复。我可以进一步知道为什么它被认为是一种更安全的方式吗?或者为什么 valueOf 函数不安全?