gpt4 book ai didi

java - 将多个域链接到一份报告中的 HashMap - Java Eclipse

转载 作者:行者123 更新时间:2023-12-02 10:08:28 25 4
gpt4 key购买 nike

我是 Java 新手,正在使用 Java Eclipse,所以请多多关照!我希望我能够正确地提出这个问题,这样它才有意义。

我有四个域 - 每个域都从四个不同的服务器提取数据,因此需要将它们分开。但现在我需要创建一个报告,将四个域的所有数据链接到一个报告中。有人建议使用 HashMap ,我以前没有使用过。我的四个域每个都有两个可用作 key 的字段 - CostCenter 和 Serial。提取的数据来自全国各地的机器。我需要一份报告中每台机器的所有数据。

这一切都被添加到现有项目中,该项目创建一个带有选项卡的网页,供用户单击各种表格并获取特定于某个位置的数据,或者为所有计算机/位置的每个页面创建报告。我只需要添加一个新链接供用户单击,即可为他们创建此电子表格。

我已经创建了域(DAO、DAOImpl、DTO 等),然后我将在 MainService.java 中创建组合报告。以下是我的 MainService 中声明的域(列表):

public List<Volume> getVolumeReport();

public List<BadFmPumps> getBadFmPumpsReport();

public List<BadCorobPumps> getBadCorobPumpsReport();

public List<McService> getMcServiceReport();

这是从每个域(域)的数据库中提取的数据:

public class Volume {

private String costCenter;
private String DAD;
private String division;
private String model;
private String serial;
private String numDispensers;
private String colorantSys;
private String CCEGals2017;
private String BACGals2017;
private String CCEGals2018;
private String BACGals2018;
private String DNR2017;
private String DNR2018;
private String DNR2019;
<小时/>
public class BadFmPumps {

private String costCenter;
private String model;
private String serial;
private String badFmPumps;
private String over10;
private String under10;
<小时/>
public class BadCorobPumps {

private String costCenter;
private String model;
private String serial;
private String badPumpCount;
<小时/>
public class McService {

private String costCenter;
private String model;
private String serial;
private String crChargeTotals;
private String emgCalls;

因此,我需要将这些数据提取到 CostCenter + Serial 匹配的一个报告中。如何声明每个对象的 HashMap 以及如何声明键?

编辑----

我想我有一些接近的东西

public List<Volume> getVolumeReport();

Map<String, Volume> VolumeMap = new HashMap<String, Volume>();

for (Volume dispenser : VolumeList)

{

String volumeKey = new StringBuilder().append(Volume.getCostCenter()).append(Volume.getSerial()).toString();

VolumeMap.put(volumeKey, dispenser);

}

这是正确的吗?我收到一个语法错误 - Map 声明

Map<String, Volume> VolumeMap = new HashMap<String, Volume>(); 

给我错误

Syntax error on token ";", { expected after this token

那里有什么我需要改变的吗?

最佳答案

您的代码中有一些不寻常的事情。我的猜测是,您来自 C#,您没有使用正确的命名约定,请参阅此处:https://www.oracle.com/technetwork/java/codeconventions-135099.html

你定义的方法错误,错误不在Map中,而是在方法定义中

public List<Volume> getVolumeReport(); <-------- this

应该是

public List<Volume> getVolumeReport() {

然后在其末尾关闭您的方法(使用 })。

在 FOR 内部,当您应该使用您创建的变量时,您尝试直接访问 Volume 方法:dispenser

String volumeKey = new StringBuilder()
.append(Volume.getCostCenter())
.append(Volume.getSerial())
.toString();

应该是

String volumeKey = new StringBuilder()
.append(dispenser.getCostCenter())
.append(dispenser.getSerial())
.toString();

关于java - 将多个域链接到一份报告中的 HashMap - Java Eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55168137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com