有什麼區別:和Java中,收集構造
TreeMap<String, String> myMap = new TreeMap<>();
TreeMap<String, String> myMap = new TreeMap<String,String>();
謝謝!
有什麼區別:和Java中,收集構造
TreeMap<String, String> myMap = new TreeMap<>();
TreeMap<String, String> myMap = new TreeMap<String,String>();
謝謝!
它們在引入鑽石運算符<>
的java 7中是相同的。在較老版本的java中,鑽石操作員將無法工作。
菱形運算符將類型推斷帶入構造函數。泛型方法的類型推斷在java 5和更高版本中可用。在Java 7之前,要使用編譯器的類型推斷創建泛型類,必須使用通用工廠方法,如static <K,T> Map<K,T> createMap()
。
第一個將只在Java 7,第二個工作,從Java 5+
雖然請注意,由於泛型僅用於編譯時,並且不存在於字節碼中,代碼僅使用Java-6功能加上菱形運算符,並用Java編譯7編譯器將運行在Java 6 JVM上。 – Edd
無差異可言..!它只是一種語言結構。 <>
是新引入的運算符,被稱爲diamond operator
來自java 7.
感謝您的幫助! –
您發現一些好點[這裏](http://stackoverflow.com/questions/4166966/what-is-the-point-of-the-diamond- operator-in-java-7) –