我有一個類可以生成隨機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'具有不同的行爲。 –