weixin_36959920
白丁8864
采纳率0%
2021-03-09 08:56

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条回答

  • qq_34370249 qq_34370249 1月前

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

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss";
    time.setEndTime(format.parse(time));
    点赞 评论 复制链接分享
  • hu961691590 大黄瓜de冬天 1月前

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

    点赞 评论 复制链接分享
  • weixin_48126633 weixin_48126633 1月前

    不可以

    点赞 评论 复制链接分享
  • a1767028198 a1767028198 1月前

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

    点赞 评论 复制链接分享