Как исправить непроверенный тип приведения
У меня проблемы с неконтролируемым кастингом. Я знаю, что это происходит потому, что T
является Object
но не каждый Object
это T
, Мой вопрос, как бы я это исправить, чтобы реализовать T
в ArrayList<T>
без подавления предупреждений?
public class AdjMatrix <T extends Object> implements Blah<T>
{
public T[] vertex;
public AdjMatrix()
{
this.vertex = (T[])(new Object[RANDOM_NUMBER]);
}
public ArrayList<T> neighbours(T vertLabel)
{
ArrayList<T> neighbours = new ArrayList<T>();
neighbours.add(vertex[SOME_NUMBER]);
return neighbours;
}
}
Спасибо за помощь!
1 ответ
Вы можете ввести приведение к экземпляру любого класса, если вы знаете тип этого класса. Затем вы можете создать экземпляр класса следующим образом: clazz.cast(object)