java反射时sql.date和util.date类型出错
时间: 2023-11-19 13:06:00 浏览: 92
在 Java 反射中,当获取到 Date 类型的属性或方法时,会出现类型转换错误的情况。这是因为 Java 中有两种不同的日期类型:java.sql.Date 和 java.util.Date。
java.sql.Date 是用于 JDBC 中的日期类型,它继承自 java.util.Date 类。而在 Java 反射中,当获取到 Date 类型的属性或方法时,会默认使用 java.sql.Date 类型,因此如果我们要使用 java.util.Date,就需要进行类型转换。
可以使用以下代码将 java.sql.Date 类型转换为 java.util.Date 类型:
```
java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
java.util.Date utilDate = new java.util.Date(sqlDate.getTime());
```
同样的,可以使用以下代码将 java.util.Date 类型转换为 java.sql.Date 类型:
```
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
```
这样,在进行 Java 反射时,就可以正确地使用 Date 类型了。
阅读全文