这个问题是在阅读 Joshua Bloch 的“Effective Java”后提出的。特别是在第 10 条中,他认为解析对象的字符串表示并将其用于除更友好的打印输出/调试之外的任何事情都是不好的做法。原因是这样的使用“容易出错,如果你改变格式,会导致脆弱的系统崩溃”。
在我看来, Guava 的 Ordering.usingToString() 就是一个例子。那么使用它是不好的做法吗?

最佳答案

好吧,如果排序仅用于决定向用户显示内容的顺序,我认为它是“更友好的打印输出/调试”的一部分。

但是,如果您的代码正确性取决于顺序,那么我认为依赖 toString 确实是一个坏主意。

10-07 15:58
查看更多