【问题标题】:Populating a map that has been instanced填充已实例化的地图
【发布时间】:2014-03-11 13:41:14
【问题描述】:

我正在尝试填充已声明为实例变量的映射,但在执行代码时没有任何反应。

这是我的课(非常基础/早期)

public class RacingDrivers
{
private Map<String, String> racingNumbers;

/**
* Constructor for objects of class RacingDrivers
*/
public RacingDrivers()
{
   racingNumbers = new HashMap<String, String>();
}

/**
* A method to populate the racingNumbers map.
* 
* 
*/
public void populateMap()
{
  racingNumbers.put("44", "Lewis Hamilton");
  etc etc

}

然后我执行这段代码:

RacingClub RC = new RacingClub();
RC.populateMap();

RC 已创建,但地图未填充?

【问题讨论】:

  • 根据提供的代码,地图填充。
  • 尝试调试器模式Ctrl+D
  • 是的,正如@MarkoTopolnik 所说,应该没问题。也许如果您显示用于访问/检索/检查地图中内容的代码,则更容易确定出了什么问题。
  • 您尝试过任何输出吗?您可以简单地使用System.out.println(racingNumbers); 来显示HashMap
  • 什么是RacingClub?它没有出现在您的代码 except 最后两行中。您的意思是实例化 RacingDrivers 对象,而不是 RacingClub

标签: java maps bluej


【解决方案1】:

您正在创建类RacingClub 的实例。

racingNumbersMap 是类RacingDrivers 的实例字段。

MapRacingDrivers 类的构造函数中初始化。

【讨论】:

    【解决方案2】:

    你初始化类 RacingDrivers

    然后调用

    RacingDrivers  rc = new RacingDrivers();
    
    rc.populateMap();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-29
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多