Если вы хотите избежать предупреждения, вы можете сделать что-то вроде этого:
public static <T extends Comparable<? super T>> void Mergesort(T[] a, Class<T[]> clazz) {
T[] tmpArray = clazz.cast(Array.newInstance(a.getClass().getComponentType(), a.length));
}
Где classOfelement a.getClass()
. Я согласен, это ужасно, и вам лучше использовать @SuppressWarnings вместо такого рода кода.