黑马程序员技术交流社区

标题: 关于Map定义的新语法 [打印本页]

作者: 王俊杰    时间: 2013-4-11 13:05
标题: 关于Map定义的新语法
本帖最后由 王俊杰 于 2013-4-11 18:21 编辑

基础加强视频里 说JDK7有个新特性是
Map map = {name:"zxx",age:18};可以定义个Map
在第32个视频 22分钟  跟泛型没有关系 我试过了

只好换了一种方式写,这种还是太繁琐。如果真的有1.7的新语法,应该怎样写呢
  1. Map map = new HashMap() {
  2.     {
  3.         put("name", "zxx");
  4.         put("age", "25");
  5.     }
  6. };
复制代码
我现在的JDK就是JDK7的 Eclipse也配好了
为什么整不了,  编译报错  ??

新的语法应该怎么写呢~~

尝试搜索了帖子 也没有解决
http://bbs.itheima.com/forum.php ... 42871&highlight=Map

貌似不支持下面 类似创建字典的写法
phone = {"Bob" : 1234, "Alice" : 5678}
期待新版java

改为已经解决吧。



作者: CrazyProgram    时间: 2013-4-11 13:17
map还是要定义泛型的
写个例子 Map<Integer,String> map = {1 : "java",2 : "c++",3 : ".net"};
作者: 王俊杰    时间: 2013-4-11 13:55
CrazyProgram 发表于 2013-4-11 13:17
map还是要定义泛型的
写个例子 Map map = {1 : "java",2 : "c++",3 : ".net"};

谢谢
我试过了 还是不行
跟泛型应该没有关系
作者: 胡滨    时间: 2013-4-11 14:22
他说,在不久的将来————jdk7(这是预言。。不代表一定出吧)


JDK7新特性—泛型实例的创建

可以通过类型推断来简化      
以后你创建一个泛型实例不需要再详细说明类型,只需用<>,编译器会自动帮你匹配  

Java代码   //例如   
Map<String, List<String>> myMap = new HashMap<String, List<String>>();   //可以简化为   
Map<String, List<String>> myMap = new HashMap<>();


作者: 王俊杰    时间: 2013-4-11 15:21
胡滨 发表于 2013-4-11 14:22
他说,在不久的将来————jdk7(这是预言。。不代表一定出吧)

谢谢!
目前的jdk貌似还不支持这种新的语法。

作者: 杨永胜    时间: 2013-4-12 00:43
jdk 8 貌似很大改进  关于异常的 其他的就忘记了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2