110

ジェネリックに関する Java の公式チュートリアルを読んでいるときに、型引数 (この場合は is T) を制限して、次のように「and」演算子 ( &)を使用してクラスおよび/または複数のインターフェイスを拡張できることがわかりました。

<T extends MyClass & Serializable>

&,(誤ってまだ動作しますが、マイナーな警告があります)に置き換えました。

私の質問は、これら2つに違いはありますか?

<T extends MyClass & Serializable>
<T extends MyClass , Serializable> // here is with comma

そして例の方法:

static <T extends MyClass & Serializable> ArrayList<T> fromArrayToCollection(T[] a) {
    ArrayList<T> arr = new ArrayList<T>();

    for (T o : a) {
        arr.add(o); // Correct
    }
    return arr;
}
4

1 に答える 1