Алмаз Оператор производительность
Мне интересно, есть ли какие-либо известные различия в производительности с точки зрения оператора Java 7 diamond по сравнению с языковой конструкцией для предыдущих версий Java.
В основном, это быстрее использовать это:
List<String> myList = new ArrayList<>()
Map<String, Integer> myMap = new HashMap<>()
или использовать это:
List<String> myList = new ArrayList<String>()
Map<String, Integer> myMap = new HashMap<String, Integer>()
Они с одинаковой скоростью?
2 ответа
Решение
Сгенерированный байт-код одинаков. Новый оператор diamond полностью реализован, чтобы избавить программистов от необходимости избыточно указывать тип дважды.
Negative. Из-за стирания типа оператор алмаза (и генерики в целом) имеют те же характеристики времени выполнения, что и всегда (например, во время выполнения). Collections
просто держите объект (ы)).