gpt4 book ai didi

JAVA:无法在循环中返回响应

转载 作者:行者123 更新时间:2023-12-01 21:58:13 25 4
gpt4 key购买 nike

我无法循环我的回复。它总是返回给我:

"data": [
{
"mydata1": "data 1",
"mydata2": "data 2"
}
],

它应该返回如下:

"data": [
{
"mydata1": "data 1",
"mydata2": "data 2"
},
"mydata1": "data 1",
"mydata2": "data 2"
},
"mydata1": "data 1",
"mydata2": "data 2"
}
]

下面是我的代码:

      private List<myList> returnData;
public List<myList> getReturnData() {
return returnData;
}
public void setReturnData(final List<myList> returnData) {
this.returnData = returnData;
}

public List<myList> listDetail(
@Valid final ListRequest listRequest)
throws MyException {
for (final ListRequestDetail listRequestDetail :
((ListRequest) listRequest).getData()) {
setReturnData(myRepository.myDetails(
listRequestDetail.getMyData1(),
listRequestDetail.getMyData2()));
}
return returnData;
}

我能够发布,从日志中捕获:

 Submit price for ListRequest (data=[ListRequestDetail (myData1=1.00, myData2=2.00), ListRequestDetail (myData1=1.00, myData2=2.00), ListRequestDetail (myData1=1.00, myData2=2.00)])

请指教,因为我的大脑已经停止工作了。 JAVA真是折磨人。

最佳答案

您的代码实际上是在每次迭代中重新启动 returnData 列表。相反,它应该更新现有的列表。如下:

1) 进入listDetail方法后,启动returnData列表。
2) 添加新方法addReturnData来更新现有列表。

  private List<myList> returnData;

private void addReturnData(final List<myList> data) {
this.returnData.addAll(data);
}

public void setReturnData(final List<myList> returnData) {
this.returnData = returnData;
}

public List<myList> getReturnData() {
return returnData;
}

public List<myList> listDetail(@Valid final ListRequest listRequest) throws MyException {

returnData = new ArrayList<myList>();
for (final ListRequestDetail listRequestDetail : ((ListRequest) listRequest).getData()) {
addReturnData(myRepository.myDetails(listRequestDetail.getMyData1(), listRequestDetail.getMyData2()));
}
return returnData;
}

关于JAVA:无法在循环中返回响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58723355/

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