java map嵌套 问题?急

import java.util.*;class MapTest4{ public static void main(String[] args) { HashMap<String,HashMap<String,String>> chuanzhi=new HashMap<String,HashMap<String,String>>(); HashMap<String,String> yure =new HashMap<String,String>(); HashMap<String,String> jiuye =new HashMap<String,String>(); chuanzhi.put("yureban",yure); chuanzhi.put("jiuyeban",jiuye); yure.put("01","zhangsan"); yure.put("02","lisi"); jiuye.put("01","wangwu"); jiuye.put("02","zhaoliu"); } }

编译 找不到符号

经测试,你的代码没问题,不过你写代码的细节不是特别规范,很多时候不会那样写,先附上测试图吧

在这我想指出你写代码的一些细节性问题,当然你写的没有错,只是看着不舒服,可读性比较差
HashMap<String,HashMap<String,String>> chuanzhi=new HashMap<String,HashMap<String,String>>();
这句里边应该有两个细节性问题,第一、定义Map一般会这么写Map<String,Object> map = HashMap<String,Object>();第二、其实这个已经写在第一个里边了,一般不会写那么复杂的泛型,泛型里可以定义Object,然后在外边转换就可以了,因为Object是所有类的父类。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-11
chuanzhi.put("yureban",yure);
chuanzhi.put("jiuyeban",jiuye);

yure jiuye这两个加上双引号

或者说,你的HashMap<String,String> 都写成HashMap<String,Object>追问

加上双引号不就成为字符串了吗 定义的值value 是一个map集合

追答

那你的集合不要加上这些东西试试看

相似回答