ホームページ  >  に質問  >  本文

java - Comparable[] 排序的问题

程序的结构大致如下

class   A {

sort(**Comparable[]  x**){
    //此处进行插入排序等
}

。。。main(String[] args)
{
    String[] arr={......}   //一个字符串数组
    A a=new A();
    a.sort(**arr**);
}
}

1.sort(...)方法需要的参数是一个Comparable数组,而arr是一个字符串数组,为什么可以直接传入arr那?
2.x[i]和a[i]表示同一个元素,为什么那?
3.这样写有什么好处那?

天蓬老师天蓬老师2717日前858

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-04-17 16:17:05

    String は Comparable インターフェイスを実装しているため、すべての String オブジェクトを Comparable オブジェクトと見なすことができます
    String のソース コードを確認できます

    リーリー

    これはポリモーフィズムを実現するためです。たとえば、A が B を拡張すると、サブクラス A のオブジェクトは B のオブジェクトと見なすことができます。
    同様に、A は B を実装し、B はインターフェイスであり、A の任意のオブジェクトが可能です。 Bの対象とみなされます。
    この方法で記述する利点は、多くのメソッドをオーバーロードする必要がないことです。すべてのクラスに sort メソッドを記述する必要はなく、sort メソッドを記述するだけです。他の多くのメソッドはオーバーロードを必要としなくなりました。

    返事
    0
  • 迷茫

    迷茫2017-04-17 16:17:05

    1.String は Comparable インターフェイスを実装しているため、Comparable 型と見なすことができます
    2 3 質問の意味がわかりません。 。 。

    返事
    0
  • キャンセル返事