java中map可以放在list里吗
1个回答
展开全部
一个List对象也无非是一个对象,在Map里存取放置都是一种方式,如果你确定取出来的是某类的对象,直接转型就可以了:
List c = (List)b.get("a");
在JDK1.5以上提供了泛型,能够更好地控制类型,减少强行转型的次数。比如我们如果知道这些List里的元素永远是String的话,你就可以写
List<String> a = new ArrayList<String>;
HashMap<String,List<String>> b =new HashMap<String,List<String>>();
b.put("a",a);
...
List<String> c = b.get("a");
最后一步不需要强行转型,而且如果在b.put("a",a);这一步如果你想往b里面放一个不是List<String>的东西,或者使用的key不是一个String,编译器就会抗议。
泛型学起来有一定难度,尤其是一些高级用法,写起来有时会觉得繁琐,但是我认为物有所值,能够帮助我们在编译期发现不少潜在问题,写出代码更强健。
List c = (List)b.get("a");
在JDK1.5以上提供了泛型,能够更好地控制类型,减少强行转型的次数。比如我们如果知道这些List里的元素永远是String的话,你就可以写
List<String> a = new ArrayList<String>;
HashMap<String,List<String>> b =new HashMap<String,List<String>>();
b.put("a",a);
...
List<String> c = b.get("a");
最后一步不需要强行转型,而且如果在b.put("a",a);这一步如果你想往b里面放一个不是List<String>的东西,或者使用的key不是一个String,编译器就会抗议。
泛型学起来有一定难度,尤其是一些高级用法,写起来有时会觉得繁琐,但是我认为物有所值,能够帮助我们在编译期发现不少潜在问题,写出代码更强健。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |