//我自己写的 public int compare(User u1, User u2) { if (u1.number.charAt(0) == u2.number.charAt(0)) { if (u1.number.length() > u2.number.length()) { return 1; } else if (u1.number.length() < u2.number.length()) { return -1; } return u1.number.compareTo(u2.number); } if (u1.number.charAt(0) == 'V') { // u1的号码是V开头,优先级高: return -1; } else { return 1; } }
// 看了评论区,可以精简一下。刚开始写的时候也在想怎么在大的时候返回1,小的时候返回-1,无奈没有想出来 if (u1.number.length() == u2.number.length()) { return u1.number.compareTo(u2.number); } return u1.number.length() - u2.number.length();
调换u1和u2的位置就可以实现了
Sign in to make a reply
ANGERIED