I think this orders and compares strings correctly.
String Comparator (and a test)