我想要做的是将一个移动对象保存到一个名为 topMoves 的向量中。会有很多 Move 对象,这就是我在循环中创建对象的原因。
pastPriceMap 存储过去某个时间(在本例中为一分钟前)的股票价格。currPriceMap 存储最后一秒内某个时间的股票价格。
我得到以下异常:
线程“Timer-0”中的异常 java.util.NoSuchElementException
这是导致问题的行: amove.setInitPrice(pastPriceMap.get(iter.next()));
代码片段如下。当我执行 System.out.println 语句时,我得到了预期的输出:
Iterator<String> iter = sortedTopCodes.iterator();
while(iter.hasNext()){
System.out.println(currPriceMap.get(iter.next()));
System.out.println(pastPriceMap.get(iter.next()));
Move amove = new Move();
amove.setSecCode(iter.next());
amove.setPrice(currPriceMap.get(iter.next()));
amove.setInitPrice(pastPriceMap.get(iter.next()));
topMoves.add(amove);
}
return topMoves;
Move 类如下所示:
private String secCode;
private double price;
private double initPrice;
public String getSecCode() {
return secCode;
}
public void setSecCode(String secCode) {
this.secCode = secCode;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public double getInitPrice() {
return initPrice;
}
public void setInitPrice(double lastPrice) {
this.initPrice = lastPrice;
}