## Why is this an issue?

For arrays of objects, `Arrays.asList(T ... a).stream()` and `Arrays.stream(array)` are basically equivalent in terms of performance. However, for arrays of primitives, using `Arrays.asList` will force the construction of a list of boxed types, and then use that list as a stream. On the other hand, `Arrays.stream` uses the appropriate primitive stream type (`IntStream`, `LongStream`, `DoubleStream`) when applicable, with much better performance.

### Noncompliant code example

    Arrays.asList("a1", "a2", "b1", "c2", "c1").stream()
        .filter(...)
        .forEach(...);

    Arrays.asList(1, 2, 3, 4).stream() // Noncompliant
        .filter(...)
        .forEach(...);

### Compliant solution

    Arrays.asList("a1", "a2", "b1", "c2", "c1").stream()
        .filter(...)
        .forEach(...);

    int[] intArray = new int[]{1, 2, 3, 4};
    Arrays.stream(intArray)
        .filter(...)
        .forEach(...);