2016-10-28 4 views
-4

Я хотел бы задать короткий вопрос. Это все конструкторы для HashTable?Конструкторы Java HashMap

HashMap() 
HashMap(Map m) 
HashMap(int capacity) 
HashMap(int capacity, float fillRatio) 

Если да, то почему в инструкции ниже не возникает ошибка?

HashMap<Character, Integer> hash = new HashMap<Character, Integer>(); 
+3

с использованием дженериков и с использованием первого конструктора - см. Https://docs.oracle.com/javase/tutorial/java/generics/ –

+2

Зачем ему генерировать ошибку? – Li357

+1

Если вы хотите узнать, какие конструкторы доступны, вы можете прочитать javadoc – Jens

ответ

2

Если да, то почему заявление ниже не генерирует ошибку?

HashMap<Character, Integer> hash = new HashMap<Character, Integer>(); 

Поскольку он совпадает с подписью первого конструктора вы перечислили, HashMap(). Остальные две вещи, которые вы видите, - type arguments, а не аргументы конструктора. Они получены как параметры типа на общем классе HashMap, который использует первый как тип ключа, а второй как тип значения в парах ключ/значение, которые он хранит.

Смежные вопросы