a-foundation/src/main/java/com/ajjpj/afoundation/collection/ACollectionHelper.java
@SuppressWarnings("unchecked")
    public static <T> AArrayWrapper<T> asArrayCopy(T[] c) {
        final T[] newArray = (T[]) Array.newInstance(c.getClass().getComponentType(), c.length);
        System.arraycopy(c, 0, newArray, 0, c.length);
        return new AArrayWrapper<>(newArray);
    }
@SuppressWarnings("unchecked")
    public static <T> AArrayWrapper<T> asArrayCopy(T[] c) {
        final T[] newArray = (T[]) Array.newInstance(c.getClass().getComponentType(), c.length);
        System.arraycopy(c, 0, newArray, 0, c.length);
        return new AArrayWrapper<>(newArray);
    }
@ SuppressWarnings ( "unchecked" ) public static < T > AArrayWrapper < T > asArrayCopy ( T [ ] c ) { final T [ ] newArray = ( T [ ] ) Array . newInstance ( c . getClass ( ) . getComponentType ( ) , c . length ) ; System . arraycopy ( c , 0 , newArray , 0 , c . length ) ; return new AArrayWrapper <> ( newArray ) ; }
Copies the content of an array into an (immutable) <code>ACollection</code> instance. Subsequent
changes to the underlying array have no effect on the returned <code>ACollection</code> instance.<p>

The returned collection has list semantics with regard to <code>map()</code> and other modifying methods;
duplicate values are allowed.
Copies the content of an array into an ( immutable ) <code > ACollection< / code > instance . Subsequent changes to the underlying array have no effect on the returned <code > ACollection< / code > instance . <p >