110 votes

Quelle est la différence entre ' & ' et ', ' dans les génériques de Java ?

Lors de la lecture de la Java tutoriel officiel sur les génériques, j'ai trouvé que vous pouvez restreindre le type d'argument (dans ce cas, est - T) pour étendre une classe et/ou plusieurs interfaces avec le 'et' opérateur (&) comme ceci:

<T extends MyClass & Serializable>

J'ai remplacé l' & avec , (par erreur et fonctionne toujours, avec une petite mise en garde).

Ma question est, quelle est la différence entre ces deux:

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

Et l'exemple de la méthode:

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;
}

170voto

arshajii Points 65653
<pre><code></code><p><code></code><code></code><code></code>.</p><pre><code></code></pre><p><em>Ce</em> <em>deux</em> <code></code> <code></code> <code></code> <code></code> -C’est probablement ce qui concernait la mise en garde).</p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X