Тип характерной информации в java

правда я не знаю много относительно этого, но хочу знать, как иметь класс, что я принял любой тип информации как параметра. Я увидел, что то, что я хочу сделать, используется в ArrayList например, таким образом:

ArrayList<String> arreglo=new ArrayList();

Или также:

ArrayList<Integer> arreglo=new ArrayList();

array list может сохранять любой тип информации, которую пользователь показывал бы ему.

Как ему быть нужно класс, который, создать объект также, показывал бы ему тип информации, с которой он будет работать.

1
задан 29.03.2017, 18:14
3 ответа

(Двигая мой комментарий в ответ для того, чтобы не остался открытый вопрос без необходимости)

Которое ты имеешь в виду, он называется характерным, и ты можешь находить руководитель по этому поводу здесь: https://docs.oracle.com / javase / руководитель / Java / generics.

Ты можешь находить пример, как создания класса с характерными здесь: https://docs.oracle.com/javase/tutorial/java/generics/types.html.

Доставший из этой последней ссылки:

public class Box<T> {
    private T t;

    public void set(T t) { this.t = t; }
    public T get() { return t; }
}

В этом примере синтаксис class Box<T> это та, которая позволяет тебе определять параметр характерного типа T что может принимать любой тип. С этим примером, возможно использовать класс Box следующих форм:

Box<String> boxString = new Box();
boxString.set("abc");    

Box<Integer> boxInteger = new Box();
boxInteger.set(100);
6
ответ дан 24.11.2019, 12:37

характерный тип - Object, но не является рекомендуемым использовать это, так как он допускает всего, он может перевозить проблемы.

ArrayList<Object> arreglo=new ArrayList<>();

коллекция договоренность может хранить числа, цепи, объекты

0
ответ дан 24.11.2019, 12:37

Есть очень хороший ответ, который он говорит на generics, единственное, что он добавил бы, состоит в том, что, когда ты делаешь этот тип вещей, очень важно добавлять compareTo и equals для того, чтобы у пользователя были элементы как чтобы например упорядочивать их в списке.

0
ответ дан 24.11.2019, 12:37