Подтвердить что ты не робот

Generics Default Constructor Java

public class Sample<T>{

 T data;

   Sample(){

     data = ????;

  }

}

Как назначить значение по умолчанию для данных?

4b9b3361

Ответ 1

Божо прав (вы не можете). Если вы определенно хотите, чтобы он начинался со значения, сделайте это значение аргументом для конструктора. Например:

public class Sample<T> {
  T data;
  Sample(T data) {
     this.data = data;
  }
}

Ответ 2

Вы не можете. Тип T удаляется во время выполнения, поэтому вы не можете его создать.

Если вы передаете аргумент Class конструктору Sample(..), вы можете вызвать clazz.newInstance()