当前位置: 首页 > news >正文

哪些网站做的海报比较高大上漳州seo搜索引擎优化多少钱

哪些网站做的海报比较高大上,漳州seo搜索引擎优化多少钱,装修公司营销网站模板,网站制作的软件前言 今天看群里小伙伴问了一个非常有意思的问题#xff1a; 使用 MapString,Object 对象接收前端传递的参数#xff0c;在后端取参时#xff0c;因为接口文档中明确该字段类型为 Long #xff0c;所以对接收的参数进行了强转#xff0c;即 (Long)参数 #xf…前言 今天看群里小伙伴问了一个非常有意思的问题 使用 MapString,Object 对象接收前端传递的参数在后端取参时因为接口文档中明确该字段类型为 Long 所以对接收的参数进行了强转即 (Long)参数 但是却发生了类型转换异常报错信息如下 class java.lang.Integer cannot be cast to class java.lang.Long (java.lang.Integer and java.lang.Long are in module java.base of loader bootstrap)发现好几个小伙伴也有疑惑干脆直接码一篇文章解答一下希望对有此疑惑的小伙伴有所帮助。 Long 类型降级 我们先通过测试数据、测试方法来还原一下问题。 测试json数据如下 {user_name: niceyoo,age: -24,money: 2147483646 }测试test方法如下 PostMapping(/test) ResponseBody public void test(RequestBody MapString,Object params) {String userName (String) params.get(user_name);Integer age (Integer) params.get(age);Long money (Long) params.get(money);System.out.println(String.format(user_name%sage%smoney%s,userName,age,money)); }如上传递了三个参数即用户名、年龄、金额这三个字段如下是调用情况 通过截图下方断点参数可以看到接收的 age 、money 都是 Interger 类型而代码中 money 使用 Long 强转的话会报 java.lang.Long cannot be cast to java.lang.Integer 异常至此问题就还原出来了。 不懂就问为什么接收的 money 是 Integer 类型强转后会报错 首先我们先来看为什么接收的 money 是 Integer 类型。 使用 MapString,Object 接收的 Long 数值如果处于 「 Integer.MIN_VALUE ~ Integer.MAX_VALUE 」 是会自动转换成 Integer 的。 不光是接收同样直接使用 MapString,Object 存入数据符合这个范围仍然也会被认为存入的是 Integer 类型我们可以把它看做一种潜在的优化毕竟 Long 类型使用的字节数要大于 Integer 。 Integer.MAX_VALUEInteger 类型的最大值 Integer.MIN_VALUEInteger 类型的最小值 这两个值可以直接通过 sout 打印查看 System.out.println(Integer.MAX_VALUE) 2147483647System.out.println(Integer.MIN_VALUE) -2147483648 我们来验证一下将 money 的值改成大于 Integer.MAX_VALUE 同样的如果传递的值小于 -2147483648那么同样接收的类型为 Long大家可以验证一下。 为什么强转后会报错 强转的一些条件 低阶转高阶可以直接转高阶转低阶需要强制转换否则报错强转 null 值报错包装类型数据不支持直接跨类型强转 其实报错的原因就是这最后一条包装类型是不支持直接跨类型强转的比如你可以使用 Integer 跟 int 的直接转换但是你不能将 Integer 直接强转成 Long 类型或者 Long 类型强转 Integer 这样都是报错的。 如果不能确定接收的对象是 Long 还是 Integer 怎么办 既然知道不能强转了但是如果不知道接收的对象是什么类型怎么办 因为这种情况下你不知道接收的对象到底是超过 Integer 这个范围还是没有超过。 第一种解决方法就是对接收的对象进行类型判断。 主要就是使用关键字 — instanceof 如图所示我们可以先用 Object 接收一下对象然后对其通过 instanceof 关键字进行类型判断如果是 Integer 类型则先 .toString()然后再使用 Long.parseLong() 进行转换如果本身就是 Long则直接进行强转同理接收 Integer 类型也一样无非就是换用 Integer.parseInteger(). 第二种就是直接使用实体接收使用实体接收就不会存在此问题了。 博客园持续更新欢迎关注希望这篇文章对你有所帮助。 博客园https://www.cnblogs.com/niceyoo
http://www.huolong8.cn/news/147912/

相关文章:

  • 上地网站制作营销型网站的建设
  • 长沙网站快速排名优化深圳网站建设服务哪一个便宜
  • 高端网站推广艺缘网站的建设
  • 盐城市网站o2o是指的是什么
  • 深圳高端建设网站怎样让网站显示网站建设中
  • 中山网站百度优化淘宝网络推广怎么做
  • 网站设计与规划作业黄骅市邮政编码
  • 永州建设公司网站08服务器做网站
  • 图书馆网站建设费用一站式网站建设价格
  • 杭州建设信用网新网站品优购网页制作代码
  • 深圳俄语网站建设皮具制品 东莞网站建设
  • 北京做网站的建立局域网的步骤
  • 网站建设合同的内容与结构网络策略
  • 绵阳的网站建设苏州网络推广公司永阳
  • 天河网站建设哪家强新网站建设方案
  • 合肥网站建设 微笑互联赣州信息港房产网
  • 什么行业需要做网站做网站有什么关于财务的问题
  • php网站开发更换模板伪静态规则wordpress
  • 开发电子商务网站和开发新闻类网站什么异同工会网站群建设方案
  • 专业长沙做网站公司php网站搬家软件
  • 成都网站建设重庆最加科技百度账号注销
  • 专业做外贸网站的公司湖南 seo
  • 苏州网站建设报价单怎样把一个网站建设的更好
  • 渔具网站建设策划书前言温州网站建设公司电话
  • 网站关键词排名优化工具app简易开发平台
  • 连云港网站建设哪家好为什么要做手机网站开发
  • 网上花钱做ppt的网站龙华网站开发公司电话
  • 装饰公司起名字寓意好的字青岛seo服务哪家好
  • 全运网站的建设学校学网页设计需要自带电脑吗
  • 棋牌网站怎么做wordpress电商模板下载