Uploaded by Серёжа Нороян

import java

advertisement
import java.util.Arrays;
import java.util.Collections;
public class Main
{
public static void main(String[] args) {
String[] strings = {"q","w","e"};
GenericArray<String> genericStrArray = new GenericArray<>(strings);
System.out.println(Arrays.toString(genericStrArray.getArray())); //Метод Arrays.toString()
возвращает строковое представление одномерного массива,
// разделяя элементы запятой. Вместо того чтобы перебирать массивы циклом for, можно
воспользоваться этим методом для вывода элементов на консоль:
genericStrArray.shuffle();
System.out.println(Arrays.toString(genericStrArray.getArray()));
Integer[] integers = {1,2,3,4,5};
GenericArray<Integer> intGenericArray = new GenericArray<>(integers);
System.out.println(Arrays.toString(intGenericArray.getArray()));
intGenericArray.shuffle();
System.out.println(Arrays.toString(intGenericArray.getArray()));
}
// Ограниченные параметры типа. Возможно, что Вы захотите ограничить
// типы, которые можно передавать как параметры типа. Например, метод,
// который оперирует с числами, захочет принимать только объекты типа
// Number и его подклассов. Это так называемые bounded type parameters.
// Для объявления такого типа параметров укажите имя параметра типа, за
// ним ключевое слово extends Number. Заметим, что extends используется и для
// классов и для интерфейсов.
}
class GenericArray <T> {
private T[] someArray;
public GenericArray(T[] someArray) {
this.someArray = someArray;
}
public void shuffle(){
Collections.shuffle(Arrays.asList(someArray));
}
public <T> T[] getArray() {
return (T[]) someArray;
}
}
Download