解决 SimpleDateFormat 抛出 java.lang.IllegalArgumentException 错误

代码片段:javaSimpleDateFormat sf = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss');it.setTime(objs[10] != null ? sf.format(objs[10]) : '');

该错误发生的原因是 SimpleDateFormatformat() 方法要求传入的参数必须是 Date 类型对象,而 objs[10] 可能不是 Date 类型。

解决方法:

  1. 判断 objs[10] 是否为 Date 类型: 使用 instanceof 关键字判断 objs[10] 是否为 Date 类型。

  2. 根据类型进行处理: * 如果 objs[10]Date 类型,则直接使用 format() 方法格式化。 * 如果 objs[10] 不是 Date 类型,则根据实际需求进行处理,例如: * 将 objs[10] 转换为 Date 类型再进行格式化。 * 使用一个默认值。

**代码示例:**javaSimpleDateFormat sf = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss');Object obj = objs[10];if (obj instanceof Date) { it.setTime(sf.format((Date) obj));} else { // 对于不是Date类型的情况,根据需求进行处理 it.setTime(''); // 或者使用一个默认值}

请根据您的实际需求和 objs[10] 的数据类型进行相应的处理。

Java SimpleDateFormat 错误:java.lang.IllegalArgumentException: Cannot format given Object as a Date

原文地址: https://www.cveoy.top/t/topic/pcN0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录