Diamond Operator performance

520 views Asked by At

I'm wondering if there are any known performance differences in terms of the Java 7 diamond operator versus the language construct for previous versions of Java.

Basically, is it faster to use this:

List<String> myList = new ArrayList<>()
Map<String, Integer> myMap = new HashMap<>()

or to use this:

List<String> myList = new ArrayList<String>() 
Map<String, Integer> myMap = new HashMap<String, Integer>()

Are they the same speed?

2

There are 2 answers

0
Birb On BEST ANSWER

The generated bytecode is the same. The new diamond operator is purely implemented to save programmers from having to redundantly specify the type twice.

0
Elliott Frisch On

Negative. Due to type erasure, the diamond operator (and generics in general) have the same run-time performance as they always have (e.g. at run-time Collections just hold Object(s)).