hgu*_*294 2 java string compareto
从外部服务我得到Date+Time字段为String格式的对象2012-03-07 12:12:23.547,我需要比较这些字段以获得对象的正确顺序.我很清楚我可以Date通过例如SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")创建对象并比较两者Date来实现这一点但我的问题是我是否可以依赖正确的排序顺序如果我把它们比作Strings如String.compareTo(String)?一些光测试给我的印象是它有效,但我想知道是否有人知道任何情况下它不会给我正确的结果?此外,还有任何性能方面的考虑,比较或缺点,比较String的Vs解析到日期比较?
假设小时是24小时格式,那么是,这是一种可排序的日期/时间格式 - 其众所周知的好处之一是您可以排序而无需实际解析.
一个缺点:如果你得到不好的数据,你就不会发现它 - 你只是整齐地将它排序到"正确"的地方,而忽略了你已经被给予(比如说)2月30日的事实.
如果您稍后需要将值作为日期/时间,那么我先解析它然后进行比较.但是如果你在排序方面只需要这个,那么字符串比较可能比解析所有内容更快.值得基准测试,当然......特别是在同一天比较两个字符串需要几个字符值得检查,而如果你已经解析过它,那么你可能只需比较long值.