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

青白江区城乡和建设局网站找电商平台帮我卖产品

青白江区城乡和建设局网站,找电商平台帮我卖产品,网站推广报价,企业网站广告图片轮播代码记录&#xff1a;470 场景&#xff1a;Java中使用instanceof判断对象类型。例如在解析JSON字符串转换为指定类型时&#xff0c;先判断类型&#xff0c;再定向转换。在List<Object>中遍历Object时&#xff0c;先判断类型&#xff0c;再定向转换。 版本&#xff1a;JDK 1…

记录:470

场景:Java中使用instanceof判断对象类型。例如在解析JSON字符串转换为指定类型时,先判断类型,再定向转换。在List<Object>中遍历Object时,先判断类型,再定向转换。

版本:JDK 1.8,Spring Boot 2.6.3。

一、解析Json字符串时,使用instanceof判断对象类型

场景:在基于微服务开发中,一个请求会贯穿多个微服务,一般在微服务之间传递参数均以JSON字符串为主流。

1.JSON字符串示例

{"getTime": "2023-08-13 17:50:12","getValue": ["13",350,193.62,37,"1813"]
}

解析:在getValue中传递参数,既有字符串、int型、double型等,在把JSON字符串时,无法转为指定类型,只能使用List<Object>类型是最合适。

需求:本例需求场景这些字符必须都转换为Double类型,再放到业务中使用。

2.使用instanceof判断对象类型

public static Double getDouble(Object obj) {if (obj == null) return null;Double result = null;try {if (obj instanceof Integer) {result = ((Integer) obj).doubleValue();} else if (obj instanceof Long) {result = ((Long) obj).doubleValue();} else if (obj instanceof Double) {result = (Double) obj;} else if (obj instanceof BigDecimal) {result = ((BigDecimal) obj).doubleValue();} else if (obj instanceof String) {result = Double.parseDouble((String) obj);}} catch (Exception e) {log.info("类型转换异常");e.printStackTrace();}return result;
}

3.测试示例

public static void f1() {String result = "{\n" +"  \"getTime\": \"2023-08-13 17:50:12\",\n" +"  \"getValue\": [\n" +"    \"13\",\n" +"    350,\n" +"    193.62,\n" +"    37,\n" +"    \"1813\"\n" +"  ]\n" +"}";JSONObject jsonResult = (JSONObject) JSON.parse(result);List<Object> listResult = (List<Object>) jsonResult.get("getValue");List<Double> listResultD = new ArrayList<>();//类型转换listResult.forEach(item -> {listResultD.add(getDouble(item));});//遍历结果listResultD.forEach(item -> {System.out.println("" + item);});
}

4.输出结果

执行f1
13.0
350.0
193.62
37.0
1813.0

二、遍历List<Object>时,使用instanceof判断对象类型

场景:在接收到结果集List<Object>时,Object的具体类型由多个时,使用instanceof判断对象类型,再转换增强代码合理性。

1.使用instanceof判断对象类型

public static Double getDouble(Object obj) {if (obj == null) return null;Double result = null;try {if (obj instanceof Integer) {result = ((Integer) obj).doubleValue();} else if (obj instanceof Long) {result = ((Long) obj).doubleValue();} else if (obj instanceof Double) {result = (Double) obj;} else if (obj instanceof BigDecimal) {result = ((BigDecimal) obj).doubleValue();} else if (obj instanceof String) {result = Double.parseDouble((String) obj);}} catch (Exception e) {log.info("类型转换异常");e.printStackTrace();}return result;
}

2.测试示例

public static void f2() {List<Object> list01 = new ArrayList<>();Integer integerV = 813;Long longV = 209206L;Double doubleV = 209207.13D;BigDecimal bigDecimal01 = new BigDecimal("209208.23");BigDecimal bigDecimal02 = new BigDecimal("209209");String strV = "209210.35";list01.add(integerV);list01.add(longV);list01.add(doubleV);list01.add(bigDecimal01);list01.add(bigDecimal02);list01.add(strV);List<Double> list02 = new ArrayList<>();//类型转换list01.forEach(item -> {list02.add(getDouble(item));});//遍历结果list02.forEach(item -> {System.out.println("" + item);});
}

3.输出结果

执行f2
813.0
209206.0
209207.13
209208.23
209209.0
209210.35

以上,感谢。

2023年8月13日

http://www.yayakq.cn/news/109935/

相关文章:

  • PHP MYSQL网站开发全程实网站建设中的形象满意指的是销售
  • 网站开发逻辑图wordpress调用面包屑
  • 免费网站申请域名超市设计网站
  • 培训营销型网站建设电子商务网站建设与管理 总结
  • 睿艺美开封做网站网站后台编辑器上传不了图片
  • 网站主页特效欣赏深圳前十设计公司
  • 湖南兼职网站建设华为网站建设
  • dw网站模板免费数字营销包括哪六种方式
  • 建设婚恋网站基本功能有哪些怎样用代码建设一个网站
  • 移动端网站开发流程图泰安网络公司排名
  • 网站微信付款调用在线网站优化公司
  • 信誉好的做网站公司做网站公奇闻司郑州汉狮
  • 怎么做免费的产品网站网站建设教程视频教程
  • 网站logo设计免费版在线本周新闻热点事件
  • 明年做那个网站致富seo优化专员工作内容
  • 绍兴市科信建设工程检测中心网站建设网站用什么语言比较好
  • 乐搜做网站推广什么软件可以长期赚钱
  • 九里网站开发主图详情页模板
  • 门户网站盈利模式saas建站平台介绍
  • 网站文章不显示湖南广源建设工程有限公司网站
  • 如何免费制作网站建设银行官网登录入口
  • 群晖可以做网站服务器吗优化关键词哪家好
  • 哪些网站可以做海报热点的在线相册jsp网站开发与设计
  • 动漫网站模板下载软文有哪些推广渠道
  • 网站建设价格优 秀乐云seo个人可以建设农资网站吗
  • 联想网站建设摘要网站安全狗服务名
  • 免费营销网站制作深圳企业网站建设
  • 中国中国建设银行网站首页公司网站要更新
  • 百度seo公司整站优化百度推广创意范例
  • 做流量任务的试用网站犀牛云网站建设公司