Можно ли написать следующее?Набор без указанного типа данных
Set<Integer> integs = new HashSet<>();
< Внутри>, это прекрасно, чтобы оставить его как пустой?
Можно ли написать следующее?Набор без указанного типа данных
Set<Integer> integs = new HashSet<>();
< Внутри>, это прекрасно, чтобы оставить его как пустой?
Начиная с Java 7, компилятор выводит тип данных хэш-набора без необходимости его записи дважды.
Обратите внимание, что существуют некоторые сценарии, в которых компилятор может не вывести тип, поэтому вы можете получить ошибки компиляции для более сложных сценариев.
Больше этого here.
Да, это функция, введенная на Java 7, где <>
называется оператором бриллианта. См. http://docs.oracle.com/javase/7/docs/technotes/guides/language/type-inference-generic-instance-creation.html.
Да, если вы используете Java 7 или выше, как описано в documentation
Вы можете заменить аргументы типа, необходимые для вызова конструктора обобщенного класса с пустым набором параметров типа (<>), пока компилятор может вывести аргументы типа из контекста. Эта пара угловых кронштейнов неофициально называется алмазом .
Да. В вашем случае это займет целое число в Java 7 и более поздних версиях. Пожалуйста, найдите подтверждение из документации Java. http://docs.oracle.com/javase/7/docs/technotes/guides/language/type-inference-generic-instance-creation.html
Да, алмазный оператор '<>' будет вызывать '' как общий тип ссылочного типа. Теперь, где этот дубликат ... –
Pshemo
Также см. Http://stackoverflow.com/questions/4166966/what-is-the-point-of-the-diamond-operator-in-java-7 – Radiodef
Это уже было отвечено здесь: http://stackoverflow.com/questions/8660202/what-does-mean-for-java-generics –