“Unchecked générique de la création de la matrice pour les varargs paramètre de type Comparateur de <? s'étend String> []” avertissement l'utilisation d'CoreMatchers.allOf()

Dans mon UT code, l'extrait ci-dessous, je vois avertissement :

Unchecked generic array creation for varargs parameter of
type Matcher <? extends String> []

J'ai lu dans un autre stackoverflow répondre sur les problèmes à l'aide d'un paramètre générique d'un varargs méthode.

Mais est-il un moyen sympa de légèrement restructurer ce test pour se débarrasser du vilain d'avertissement et d'éviter @SuppressWarnings?

package stackoverflow;

import org.hamcrest.CoreMatchers;
import org.junit.Assert;
import org.junit.Test;
import static org.junit.matchers.JUnitMatchers.containsString;
import static org.hamcrest.CoreMatchers.not;

public class FooTest {


    @SuppressWarnings({"unchecked"})
    @Test
    public void sampleTest() {

        Assert.assertThat("foo bar",
                CoreMatchers.allOf(
                containsString("foo"),
                containsString("bar"),
                not(containsString("baz"))));
    }


}

OriginalL'auteur k1eran | 2013-07-16