Я работаю через учебник, который имеет следующий код:Сырые типов в Java
Entry<K,V>[] tempTable = (Entry<K,V>[]) new Entry[size];
Когда я компилирую с -Xlint
, он говорит Entry
справа, отсутствуют аргументы типа. Однако я не могу добавить аргументы типа, поскольку это приведет к созданию общего массива. Я думаю, мой вопрос состоит из двух частей:
- Я предполагаю, что код в тексте компилируется правильно, так что я могу сделать, чтобы сделать эту работу такой, как есть?
- Каков самый элегантный способ сделать это?
Удивительно, есть ли проблема с -Xlint. Мой компилятор отлично подходит для кода. – markspace
'(Entry []) new Entry [size];' НЕ гарантирует безопасность типа. Это всего лишь операция литья. –
* «что-то, что я мог сделать, чтобы сделать эту работу» * Вы говорите, что не можете это скомпилировать? Я не совсем понимаю, о чем вы просите эту часть. – Radiodef