我有一个生成随机IP地址的类。我需要对这个列表进行排序,但是我需要使用自己的逻辑来比较这两个字符串。
我希望做法是覆盖String类中的compareTo方法并使用Arrays.sort()方法,但我不知道这是否可行。
我以前曾经覆盖过compareTo方法,但我总是只比较同一类中的实例变量。
我希望做法是覆盖String类中的compareTo方法并使用Arrays.sort()方法,但我不知道这是否可行。
我以前曾经覆盖过compareTo方法,但我总是只比较同一类中的实例变量。
/* Sorts array in ascending order
*
* @param ips An array of IP Addresses
* @return A sorted array of IP Addresses
*/
public String[] sort(String[] ips)
{
String[] arr = ips;
Arrays.sort(arr);
return arr;
}
我知道还有其他方法可以完成这个任务,但是我认为这种方法会更加优雅。如果你有不同意见,请随时告诉我。我不仅想学习如何编写代码,还想学会如何高效地编写代码。
compareTo
以更改行为几乎从不是有意义的。特别是考虑到a.compareTo(b)
与b.compareTo(a)
之间的区别,其中a
和b
具有不同的行为。 - Tom Hawtin - tackline