检索存储在不同类中的映射

时间:2013-11-17 00:09:59

标签: java map

是否可以检索存储在不同类中的地图? 例如:

我有A级,其中我有以下地图:

Map<String,List<Names>> map=new HashMap<String,List<Names>>();
map.put("Details", Names);

是否可以在B类中检索地图?

1 个答案:

答案 0 :(得分:1)

  

是否可以在B类中检索 [或从中检索]地图?

是的。并且有多种方法可以做到这一点。例如:

  • 您可以制作地图变量public(几乎肯定是个坏主意!)
  • 你可以实现一个返回Map的public getter(可能不是一个好主意......)
  • 您可以实现一个public getter,它返回(私有)Map的只读包装。
  • 您可以实现一个public方法来查找(私有)地图中的条目。

但做这些事情并不一定是好事。面向对象编程的一个原则是类应该封装它的状态。如果您的B类可以访问A类内部(为了参数)的映射,那么封装会在此过程中被削弱或中断。 (现在,松散封装可能是合适的......但是您需要了解问题并根据具体情况考虑后果。)

我所说的是你很可能需要在OO编程上找到/阅读教程(或教科书),以帮助你了解你正在尝试做的是正确的事情。