4

私はJavaプログラミングに比較的慣れていないので、インターフェースとそれを実装するクラスのこの宣言に出くわしました:

public interface Abcd<E extends Comparable<E>>{
......
......
......
}

public class AbcdImpl<E extends Comparable<E>> implements Abcd<E>{
......
......
......
}

<E extends Comparable<E>>何が何を表し、通常何を意味するのか説明できます<E>か?

4

3 に答える 3

6

Eタイプを表す場合、文字はEである必要はありません。何でもかまいませんが、通常、人々は、、、、などの文字を使用Tします。タイプが何に使用されるかを何らかの形で意味する文字を使用することは理にかなっています。たとえば、インターフェースでは、Kはキーを表し、Vは値を表します。KEVMapMap<K,V>

それに関して<E extends Comparable<E>>は、ジェネリックタイプであるタイプEは、それ自体が(それ自体のために)インターフェースAbcdImplを実装する必要があることを意味します。Comparableしたがって、どのクラスEにもメソッドが必要です

compareTo(E obj)

Eのあるインスタンスをの別のインスタンスと比較するためE

于 2012-08-24T11:10:19.413 に答える
2

表示されるのはジェネリック型宣言です。

http://en.wikipedia.org/wiki/Generics_in_Javaを参照

Abcd<E>通常は「Abcd of E」と読みます。

たとえば、List はアイテムのリストですが、アイテムの種類は指定されていません。List は文字列のリストであり、ジェネリック型 List のパラメーター化されたバージョンです。

于 2012-08-24T11:12:20.903 に答える
1

レッスン: ジェネリックをご覧になるとよいと思います
。ジェネリック コレクションの理解に役立ちます。

于 2012-08-24T11:36:23.767 に答える