是否可以在Java中覆盖String的compareTo方法?

jac*_*cky 4 java sorting compareto

我有一个生成随机IP地址的类.我必须对此列表进行排序,但我需要使用自己的逻辑来比较这两个字符串.

我更喜欢这样做的compareTo方法是覆盖String类中的方法和使用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;
 }
Run Code Online (Sandbox Code Playgroud)

我知道还有其他方法可以做到这一点,但我认为这会更优雅.如果您不同意,请随时告诉我.我不仅要学习如何编写代码,还要学习如何编写代码.

ass*_*ias 21

您不能覆盖String的compareTo方法,因为该类是final.但是你可以提供自定义比较器Arrays#sort().


Bri*_*new 8

我意识到这并没有以你想要的方式回答你的问题,但听起来我需要一个IP地址类而不是一个String类.否则,您的解决方案将被串行输入.

  • 串式输入+1! (3认同)