(String) 还是 .toString()?

2022-08-31 10:36:40

我有一个带有参数的方法。Object o

在这种方法中,我确切地知道“o”中有一个不是空的。无需检查或执行其他操作。我必须把它完全当作一个物体来对待。StringString

只是好奇 - 什么更便宜 - 投向,还是使用?还是时间/cpu/内存价格相同?StringObject.toString()

更新:该方法接受,因为它是接口的实现。无法更改参数类型。Object

它根本不可能。我只想说,我不需要检查它是否为空或空。在我的情况下,总是有一个非空字符串。null


答案 1

强制转换为 String 更便宜,因为这不需要外部函数调用,只需要内部类型检查。


答案 2

我会使用演员阵容。这验证了你的“知识”,它是一个字符串。如果由于某种原因,你最终遇到了一个错误,并且有人传入了字符串以外的其他东西,我认为最好抛出一个异常(一个演员会这样做),而不是继续使用有缺陷的数据执行。


推荐