当前位置: 首页 > 知识库问答 >
问题:

在使用同一类时,使用for循环在不替换现有值的情况下设置值

慕凌龙
2023-03-14

我需要关于如何在使用该类时使用for循环设置值而不替换现有值的帮助。例如,我需要打印出三个不同的值,分别是test1、test2、test3。下面是代码,

    PaymentInstructionInformation3 paymentInstructionInformation3 =  new PaymentInstructionInformation3();
    for(int i=0 ;i<4;i++){
        if(i==1)
        {
            PartyIdentification32 partyIdentification32Body1 = new PartyIdentification32();
            partyIdentification32Body1.setNm("test1");
            paymentInstructionInformation3.setDbtr(partyIdentification32Body1);

        }else
        if(i==2)
        {
            PartyIdentification32 partyIdentification32Body2 = new PartyIdentification32();
            partyIdentification32Body2.setNm("test2");
            paymentInstructionInformation3.setDbtr(partyIdentification32Body2);

        }else
        if(i==3)
        {
            PartyIdentification32 partyIdentification32Body3 = new PartyIdentification32();
            partyIdentification32Body3.setNm("test3");
            paymentInstructionInformation3.setDbtr(partyIdentification32Body3);
        }
    }
    totalLst.add(paymentInstructionInformation3);

电流输出

 <PmtInf>
        <Dbtr>
            <Nm>test3</Nm>
        </Dbtr>
 </PmtInf>

预期产出

 <PmtInf>
        <Dbtr>
            <Nm>test1</Nm>
            <Nm>test2</Nm>
            <Nm>test3</Nm>
        </Dbtr>
 </PmtInf>

实现类

        protected String nm; 
       public String getNm() {
        return nm;
        }
      public void setNm(String value) {
        this.nm = value;
        }

谢谢你的帮助

共有3个答案

殳飞扬
2023-03-14

请将paymentInstructionInformation3对象创建语句作为第一条语句放置在for循环内。这将避免覆盖值。将st.add语句作为最后一条语句放置在for循环内,以便将所有三项添加到列表中。

申屠宗清
2023-03-14

为什么需要if语句?您在每个块中都做着完全相同的事情

此外,必须在循环内添加到列表中,而不是在循环结束后

for(int i=1 ;i<4;i++){
    PaymentInstructionInformation3 pay =  new PaymentInstructionInformation3();

    PartyIdentification32 party = new PartyIdentification32();
    party.setNm("test"+i);
    pay.setDbtr(party);

    totalLst.add(pay) ;
}
殷耀
2023-03-14

试着说:

totalLst.add(paymentInstructionInformation3);

进入循环。这导致totalList在for循环中添加了3PaymentInstructionInformation 3

如果没有帮助,请写下发生了什么

 类似资料:
  • 问题内容: 我想在不使用设置器的情况下将值插入变量。如果有可能怎么办。 这是一个例子 现在我有一个包含,和的函数。 我试图使用一种通用方法将值设置为Object(objectOfClass),而值我已经在相应的variable()中通过了()。 问题答案: 此代码未经测试。你可以试试看 要导入的类 方法

  • 问题内容: 我正在使用Hibernate + JPA作为我的ORM解决方案。 我正在使用HSQL进行单元测试,并使用PostgreSQL作为真正的数据库。 我希望能够将Postgres的本机UUID类型与Hibernate一起使用,并在其String表示形式中将UUID与HSQL一起用于单元测试(因为HSQL没有UUID类型)。 我正在为Postgres和HSQL单元测试使用具有不同配置的持久性X

  • 问题内容: 如果在使用for- each循环遍历Collection的同时修改了它,它会给出。有什么解决方法吗? 问题答案: 使用。 这是在迭代过程中修改集合的唯一安全方法。有关更多信息,请参见“收集接口”教程。 如果还需要在迭代时 _添加_元素的功能,请使用。

  • 基本上,我已经得到了一个CircularQueue的实现,我需要实现一个名为'public boolean contains(E other)'的方法,如果参数'other'存在于我的队列中,该方法应该返回true。 我对它没意见,因为它是一个数组,但后来我看到了它的另一个条件,这困扰着我。 请记住,您不能在队列中的所有元素之间自由导航。只有front元素在任何时候都可以通过peek方法访问。co

  • 首先,如果这是一个很长的代码段,我很抱歉,但是,我想做一个模态窗口,它将你在我的用户表单中写的东西写下来,并要求你确认它。我目前正在学习Javascript,我不允许使用innerHTML,我必须动态地编写“名字”等(名字的文本),不允许只在弹出窗口内写它。我已经让大多数东西工作,但“名字”“名字”等显示为“未定义”,或者(正如你可以看到的,我在这种情况下只用名字尝试的事情)显示为“空”。 希望有

  • 尝试使用Request.GetParameter但结果检索到第一个值,即第一个索引: 将名称取为“MyArray[]”,并在下一页使用 访问该值` 现在我应该做什么,有没有替代方法或者要在这里做一些更改: 这是page One.jsp中的表单: 下面是代码片段: 注意:忽略计数器值,因为这里只是为了检查,代码运行正常,但它只使用Request.GetParameter检索第一个索引值。 请给我一些