java - 运算符 && 未定义参数 String,JAVA 上的布尔值?
问题描述
我是一名初级 Java 开发人员,受托使用 Java 工具。
我有以下问题:
此工具接受输入 2 个具有特定字段的 CSV 文件。然后该工具会生成 2 个 csv 文件作为输出。第一和第二输出。两个输出文件具有相同的字段,第一个输出基于某些条件,第二个输出基于其他一些条件。
这 2 个输出文件包含一些数据的不同对帐。文件的一些记录具有相同的 ID。
例子:
record1 = ID10-name One,
record2 = ID10-Blue Two,
record3 = ID10-name Three
条件之一如下:
if (line.getName (). toLowerCase (). contains ("Blue" .toLowerCase ())
|| line.getName (). equalsIgnoreCase ("Orange")) {
return true;
实现这个的方法是一个布尔值,工具的所有逻辑都基于这个逻辑。工具逐行滚动/处理。
Iterator <BaseElaboration> itElab = result.iterator ();
while (itElab.hasNext ()) {
BaseLine Processing = itElab.next ();
在第二个输出文件中,我找到了一个名称以 Blue 开头的行/记录。该工具正确地将该行插入到第二个输出文件中,因为所有具有名称 (getName) 的记录都带有 Blue 或橙色继续它我应该将所有行聚集在一起以获得相同的 ID,即使其中只有一个具有蓝色的名称。目前该工具执行此操作:
第一个文件输出
record1 = ID10-name
record3 = ID10-name Three
第二个文件输出
record2 = ID10-Blue Two
预期的输出是
第一个文件输出
没有什么原因导致一组 ID 中的一个,与 Blue 的名称一致
第二个文件输出
record1 = ID10-name
record2 = ID10-Blue Two
record3 = ID10-name Three
我认为是这样的,但不起作用
if (line.getID() && line.getCollector().toLowerCase().contains("Blue".toLowerCase())
|| line.getName().equalsIgnoreCase("black")) {
return true;
如何在 java 行中对同一 ID 进行分组,并在 noutput 上进行排除
代码
输出
private void creaCSVOutput() throws IOException, CsvDataTypeMismatchException, CsvRequiredFieldEmptyException, ParseException {
Writer writerOutput = new FileWriter(pathOutput);
Writer writerEsclusi = new FileWriter(pathOutputEsclusi);
StatefulBeanToCsv<BaseElaborazione> beanToCsv = new StatefulBeanToCsvBuilder<BaseElaborazione>(writerOutput)
.withSeparator(';').withQuotechar('"').build();
StatefulBeanToCsv<BaseElaborazione> beanToCsvEsclusi = new StatefulBeanToCsvBuilder<BaseElaborazione>(writerEsclusi)
.withSeparator(';').withQuotechar('"').build();
beanToCsv.write(CsvHelper.genHeaderBeanBase());
beanToCsvEsclusi.write(CsvHelper.genHeaderBeanBase());
Iterator<BaseElaborazione> itElab = result.iterator();
while (itElab.hasNext()) {
BaseElaborazione riga = itElab.next();
some set if and condition ecc
esclusi.add(riga);
itElab.remove();
}
}
for (BaseElaborazione riga : result) {
if(riga.getNota() == null || riga.getNota().isEmpty()) {
riga.setNota(mapNota.get(cuvNota.get(riga.getCuv())));
}
beanToCsv.write(riga);
}
for (BaseElaborazione riga : esclusi) {
if(riga.getNota() == null || riga.getNota().isEmpty()) {
riga.setNota(mapNota.get(cuvNota.get(riga.getCuv())));
}
beanToCsvEsclusi.write(riga);
}
writerOutput.close();
writerEsclusi.close();
}
esclusi的方法(2输出)
private boolean checkPerimetroJunk(BaseElaborazione riga) {
if (riga.getMercato().toLowerCase().contains("Energia Libero".toLowerCase())) {
if (riga.getStrategia().toLowerCase().startsWith("STRATEGIA FO".toLowerCase())
|| (riga.getStrategia().toLowerCase().contains("CREDITI CEDUTI".toLowerCase())
|| (riga.getAttivita().equalsIgnoreCase("Proposta di Recupero Stragiudiziale FO")
|| (riga.getAttivita().toLowerCase().contains("Cessione".toLowerCase())
|| (riga.getLegalenome().equalsIgnoreCase("Euroservice junk STR FO")
|| (riga.getLegalenome().equalsIgnoreCase("Euroservice_FO"))))))) {
onlyCUV=true;
}
else if(Collections.frequency(storedIds,riga.getCuv()) >= 1 ){
onlyCUV = true;
}
return onlyCUV;
}
else if (riga.getMercato().equals("MAGGIOR TUTELA")) {
if(riga.getCollector().toLowerCase().contains("Cessione".toLowerCase())
|| (riga.getCollector().equalsIgnoreCase("Euroservice_Fo"))
|| (riga.getAttivitaCrabb().toLowerCase().contains("*FO".toLowerCase())
|| (riga.getaNomeCluster().equalsIgnoreCase("Full Outsourcing")))) {
onlyCUV = true;
}
else if(Collections.frequency(storedIds,riga.getCuv()) >= 1 ){
onlyCUV = true;
}
return onlyCUV;
}
return false;
}
WHERE riga=lines cesione ecc 是有黑色 ecc 的人,它是一个例子 现在 MAGGIOR TUTELA 的部分正在工作,但 LIBERO 的部分不工作。我不知道为什么。
解决方案
推荐阅读
- html - 悬停效果结束后如何完成整个动画png?
- javascript - ASP.NET MVC 中的 GUID 模型绑定
- python - 有没有一种技术可以找到连接组件的厚度?
- django - Django 在模型中创建对象时定义 update_fields
- python - 如何将 Tkinter 条目放入 SQLite 数据库中?
- javascript - 如何下载 VoiceRSS API 请求的返回?
- angular - Ionic 5 角度自定义组件未显示
- r - 如何使用参数组合将 mapply 与长度不等的输入集一起使用?
- python - Python线程:如何限制活动线程数?
- java - 使用 VoiceInteractor 的代码时,应用程序因空指针异常而崩溃