你应该避免使用Guavas Ordering.usingToString()吗?

m2o*_*m2o 4 java guava effective-java

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

Joa*_*uer 8

好吧,如果排序仅用于决定向用户显示事物的顺序,我认为它是"友好的打印输出/调试"的一部分.

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