Java 如何在一次迭代中更新依赖于所有数组元素的数组元素字段?
我有一个Java 如何在一次迭代中更新依赖于所有数组元素的数组元素字段?,java,Java,我有一个ArrayList的Offer对象: public class Offer { String offerId; String offerType; //Can be REGULAR or FASTTRACK String ticketId } 例如,如果我发送购买两个优惠的请求,响应中的ticketId应该是, 问题是,我必须首先迭代所有报价以生成ticketId,因为ticketId是offerId+offerType的逗号分隔字符串,即它取决于数组的所有元素
ArrayList
的Offer
对象:
public class Offer {
String offerId;
String offerType; //Can be REGULAR or FASTTRACK
String ticketId
}
例如,如果我发送购买两个优惠的请求,响应中的ticketId应该是,
问题是,我必须首先迭代所有报价以生成ticketId,因为ticketId
是offerId+offerType的逗号分隔字符串,即它取决于数组的所有元素。然后我必须再次迭代报价,在每个报价
对象中填充相同的ticketId
有没有一种方法可以在一次迭代中做到这一点?我认为将
ticketId
存储在Offer
中没有意义
但是对于您的问题,您可以使用包含
字符串的包装器对象ticketId
,并在报价中存储对所述包装器的引用。在遍历优惠
s并生成ticketId
后,您可以将其存储在包装器中,所有优惠
s都可以通过其包装器引用访问它。所有优惠的票证id是否相同?@yogespatil No,个人报价的ticketId取决于他们的offerId和offerType。实际上,这不是确切的问题。我尽量减少了我的问题陈述,但问题或多或少与此相同。:)但是接下来我必须使用offer.wrapper.ticketId
来引用ticketId
对吗?是的,但是在Java中,使用getter和setter方法来访问类的变量是很重要的。使用这种技术,您可以向类的调用方隐藏它是一个包装器的事实。您更新了什么?是的,我知道getter和setter。我只是用点来让它可读。