8

複数のジェネリック インターフェイス セパレータ: "," または "&"

いつも使ってA<T extends I1, I2>いたのですが、今日見ましたA<T extends I1 & I2>。これら2つの表記の違いは何ですか?

違う意味ですか?目的?

4

1 に答える 1

14
A<T extends I1, I2>

A2 つのパラメータを持つ型です

  1. TのサブタイプでなければなりませんI1
  2. I2

これは、「I1 <前置詞> タイプ I2 を拡張する <前置詞> タイプ T」と読むことができるためSortedMap<Key extends comparable, Value>、「比較可能なタイプ キーからタイプ値へのマップ」です。


A<T extends I1 & I2>

A単一のパラメーターを持つ型です

  1. TI1これは、のサブタイプおよびのサブタイプでなければなりませんI2

これを「I1 と I2 を拡張する <preposition> タイプ T」SortedSerializableSet<T extends Serializable & Comparable>と読むことができるので、「シリアライズ可能で比較可能なタイプ T のソートされた要素のセット」と読むことができます。

于 2012-12-06T18:28:48.733 に答える