Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检索存储在其他类中的映射_Java_Map - Fatal编程技术网

Java 检索存储在其他类中的映射

Java 检索存储在其他类中的映射,java,map,Java,Map,是否可以检索存储在不同类中的地图? 例如: 我有A班,我有下面的地图: Map<String,List<Names>> map=new HashMap<String,List<Names>>(); map.put("Details", Names); Map Map=newhashmap(); 地图。放置(“详细信息”,名称); 可以在B类中检索地图吗 是否可以在B类中检索[或从中检索]地图 是的。有多种方法可以做到这一点。例如: 您可以将M

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

我有A班,我有下面的地图:

Map<String,List<Names>> map=new HashMap<String,List<Names>>();
map.put("Details", Names);
Map Map=newhashmap();
地图。放置(“详细信息”,名称);
可以在B类中检索地图吗

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

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

  • 您可以将Map变量
    设置为public
    (几乎可以肯定这是个坏主意!)
  • 您可以实现一个返回映射的
    public
    getter(可能不是一个好主意…)
  • 您可以实现一个
    public
    getter,它为(私有)映射返回一个只读包装器
  • 您可以实现一个
    public
    方法,在(私有)映射中查找条目
但做这些事情并不一定是件好事。面向对象编程的原则之一是类应该封装其状态。如果类B可以访问类a内部的映射(为了参数起见),那么封装在过程中会被削弱或破坏。(现在,松散封装可能是合适的……但您需要了解问题,并考虑特定情况下的后果。)


我想说的是,您很可能需要查找/阅读一本关于OO编程的教程(或教科书),以帮助您了解您所尝试的操作是否正确。

请阅读一本关于类和对象的教程。事实上,这是一张
地图
,没有什么区别。是的。请更具体一点,我们可以给你一个更具体的答案。如果您正在阅读一篇课文或教程,并且您的问题是为了帮助理解它提出的问题,请在其中包括您正在阅读的内容。如果你没有通过课文或教程,请考虑这样做。对不起。我创建了一个类a和一个由集合组成的地图。Map Map=newhashmap();地图。放置(“详细信息”,名称);现在我想访问类B中创建的映射以从类A中检索值。我的要求不是在类A中检索映射。我可以在类B中检索键为“Details”的映射吗?