Java中怎样理解map

无双马超 2017-11-21 07:24:59
既然map是由key-value对应起来的,那么我们为什么不直接将一个Person类用map保存呢?一样可以存储name,sex,age...等等这些信息呀?
...全文
312 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooo-ooo 2017-11-25
  • 打赏
  • 举报
回复
简单来说,map只是封装了键值对,而Person等对象则可以对这个对象的内容进行你想要的各种操作,一般在使用临时数据集合的时候就用map
广寒月蛮兔 2017-11-25
  • 打赏
  • 举报
回复
Person对象如果包含Daughter,Wife等对象的时候,用map保存只能是HashMap<String,Object> map。如果开发人员失误操作map.put("wife",new Daughter()); 那样女儿不就变成妻子,这不变成了伦理剧了吗。或者说有Man和Woman,开发人员失误操作map.put("wife",new Man()); 。妻子不就变成男人了吗。。而Person封装起来就不会了,wife属性只接收Wife对象或者只接收Woman对象
清风flying 2017-11-24
  • 打赏
  • 举报
回复
map是存储key value对的 有合适的处理场景 作为一个容器存在 你说的那种情况不是他主要要处理的情况。
qq_20932723 2017-11-22
  • 打赏
  • 举报
回复
你不觉得用map拼接数据很累吗?既然退出了pojo实体类,肯定有它的道理,首先是json对象和字符串之间的转换更容易,更不容易出错,更重要的是有利MVC的处理!
一缕清风007 2017-11-22
  • 打赏
  • 举报
回复
这样person的属性就可以无限制扩展了啊。。给person加耗油量,加翅膀长度,都随意了。。还有对应的方法的定义,以及权限的控制。。
软件求生 2017-11-22
  • 打赏
  • 举报
回复
你先理解面向对象再说。
weixin_37456231 2017-11-21
  • 打赏
  • 举报
回复
不好控制属性的范围,Person类可以定义public,private,两者不同的定位

50,535

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧