fix(okxNewPrice): 解决K线数据处理中的数组越界问题
- 添加了对数组元素s[8]的空值检查
- 仅在确认标识为"1"时才处理K线数据
- 避免了潜在的数组越界异常
- 保持了原有的BigDecimal转换逻辑
- 维持了错误处理机制
| | |
| | | for (String[] s : klinesList) { |
| | | // 确保数组有足够的元素 |
| | | if (s != null && s.length >= 9) { |
| | | String s1 = s[8]; |
| | | try { |
| | | if ("1".equals(s1)){ |
| | | Kline kline = new Kline(); |
| | | kline.setTs(s[0]); |
| | | kline.setO(new BigDecimal(s[1])); |
| | |
| | | kline.setVol(new BigDecimal(s[5])); |
| | | kline.setConfirm(s[8]); |
| | | klineList.add(kline); |
| | | } |
| | | } catch (NumberFormatException e) { |
| | | log.error("K线数据转换为BigDecimal失败: {}", Arrays.toString(s), e); |
| | | } |