aga*_*ner 0 java generics type-inference variable-declaration java-7
今天我们谈到了Java 7在我们公司的优势.从Java 7开始,可以定义以下行
Map<String, List<String>> myMap = new HashMap<String, List<String>>();
Run Code Online (Sandbox Code Playgroud)
如
Map<String, List<String>> myMap = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
我们对上述主题进行了长时间的讨论.我们中的一些人认为这是类型推断(如varC#中的关键字),并且类型将在运行时计算,其他人认为它只是一种更简单的方式来声明某个变量并且没有推断,因为类型是已知的编译时的上下文.
请提供澄清.技术如何运作?
编辑:官方Oracle文档没有提供有关该文档的精确文档.http://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html
实际上,它是类型推断.
菱形运算符(<>)允许将赋值的右侧定义为具有与左侧相同类型参数的真正通用实例,而无需再次键入这些参数(因为编译器推断出类型的类型)左手边).
来自Angelika Langer的Generics FAQ:
它(菱形运算符)表示在新表达式中用于类型推断的空尖括号.
更多信息:
| 归档时间: |
|
| 查看次数: |
2946 次 |
| 最近记录: |