gpt4 book ai didi

java - 数组越界并将 list 转换为 string[]
转载 作者:行者123 更新时间:2023-12-01 16:43:04 24 4
gpt4 key购买 nike

嗨,我正在尝试读取数组中的所有数据,它产生了 ArrayOutOfBoundsException ,我认为我需要递减它,但不知道如何使用 for every 循环,任何人都可以在这里帮助我是代码谢谢

@PostMapping(path = "/createBooking/{location}")
public ResponseEntity<String> create(@PathVariable(value = "location") String location,
@Validated @RequestBody Booking book) {
book.setStatus("reserved");
book.setBookingCode(generatedString);

bookingRepository.save(book);

MimeMessage message = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message);
StringBuilder sb = new StringBuilder();

try {
String[] array = new String[book.getAtt().size()];
int index = array.length - 1;
for (Object value : book.getAtt()) {
array[index--] = String.valueOf( value );
}
helper.setTo(array[index]);
sb.append("Agenda:" + " " + book.getBookingDesc()).append(System.lineSeparator());
sb.append("When:" + " " + book.getDateBooked() + " " + book.getStartTime() + " " + "To" + " " + book.getEndTime())
.append(System.lineSeparator());
sb.append("Where:" + " " + location).append(System.lineSeparator());
sb.append("By:" + " " + book.getBookedUser()).append(System.lineSeparator());
sb.append("Booking code:" + " " + generatedString);
helper.setText(sb.toString());
helper.setSubject("Meeting");
} catch (MessagingException e) {
e.printStackTrace();
return new ResponseEntity<>("Error while sending mail ..", HttpStatus.BAD_REQUEST);
}
sender.send(message);

return new ResponseEntity<>("Inputs have been saved", HttpStatus.OK);
}

如果您能知道我是否做得对,我也将不胜感激,谢谢

编辑:这是跟踪错误编辑:我添加了整个类(class)

"trace": "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 2\r\n\tat com.example.rba.controller.Controller.create(Controller.java:79)\r\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:567)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest

最佳答案

异常发生在:

helper.setTo(array[index]);

你的循环迭代将像这样工作:第一次迭代:值存储在最后一个索引 (n) 处,然后索引 = n-1第二次迭代:值存储在 n-1 索引处,并且索引 = n-2....最后一次迭代:值存储在 0 索引处,n 变为 -1。

现在,当您尝试将 helper 设置为 array[-1] 时,它会给您 ArrayIndexOutOfBound。

如果您发现这有帮助,请不要忘记将此标记为答案。

关于java - 数组越界并将 list<Object> 转换为 string[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59043883/

24 4 0