0

我有通过传递参数 ipadd 来调用 getSystem() 的方法,我有两个类,如下所述

SystemReport Class

public class SystemReport
{
    protected System[] system;

    public ComputerSystemResponse ()
    {
    }

    public void setSystems( System[] system )
    {
        this.system = system;
    }

    public System[] getSystem()
    {
        return system;
    }

}

我感兴趣的站点详细信息所在的系统类,

public class System 
{

protected String site;

 public System()
  {
  }

  public System(String site)
  {
  this.site=site;
  }

  public void setSite(String site) 
  {
        this.site = site;
  }

    public String getSite() 
    {
        return site;
    }

}

不同类中的方法 & 尝试通过循环检索站点的值

SystemReport rep = classInstance.getNames(ipadd);
System[] test = rep.getSystem();

getNames 的返回类型

protected SystemReport getNames (ipadd)
{
  SystemReport rep = new SystemReport();

  return rep;
}

回答问题:
1. classInstance.getNames(ipadd) 的返回类型为 SystemReport
2. rep size is > 0

现在我想从代表那里获取网站,我尝试通过test.length is 0检查长度。我错过了什么?

4

2 回答 2

1

我认为你需要这样做:

SystemReport rep = new SystemReport();
rep.setSystems((classInstance.getNames(ipadd)).getSystem());
于 2013-04-09T22:07:52.200 回答
1

您的getNames函数返回一个新的、空白的 SystemReport 实例。您调用new SystemReport()但默认构造函数不会将任何内容添加到列表中,因此长度将为 0。

您需要调用setSystems您创建的报告并在您获得System[] system数组的任何地方传递。

于 2013-04-09T22:10:58.483 回答