白丁8864
2021-03-09 08:56
采纳率: 50%
浏览 413
已结题

JAVA泛型可以作为参数传递吗?

需求:传入一个泛型类,指定类型为Date

问题:请求报错--->java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date

入参:http://127.0.0.1:8080/tgb/api/v1/water/test?endTime=2021-03-07 23:00:00

泛型类:

接口:可以看到,参数是正常传入了的

但是为什么再下一步执行就报错了呢:

  • 收藏

4条回答 默认 最新

  • 大黄瓜de冬天 2021-03-09 09:12
    已采纳

    首先泛型可以作为参数传递。可以搜泛型方法的使用,至于图中的错误是因为泛型参数是在编译阶段才会验证类型是否一致,类型从低位类型到高位类型自动转换的。所以你如果需要明白基本原理的话,java类型转换机制可以了解一下

    已采纳该答案
    1 打赏 评论
  • a1767028198 2021-03-09 08:59

    因为他就是个字符串,所以转date失败了

    1 打赏 评论
  • weixin_48126633 2021-03-09 09:04

    不可以

    1 打赏 评论
  • qq_34370249 2021-03-09 09:38

    你穿的参数是怎么写的?你传的参数是一个字符串,无法转换成Date

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss";
    time.setEndTime(format.parse(time));
    1 打赏 评论

相关推荐 更多相似问题