我有一个类可以生成随机IP地址。我必须对这个列表进行排序,但我需要使用自己的逻辑来比较两个字符串。是否有可能在Java中重写String的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)'vs'b.compareTo(a)''''''''''''和'b'具有不同的行为。 –