Java下浅谈String.valueOf()

news2024/9/22 3:31:38

今日遇到遇见无语的事情,mybatis查询数据库结果 List<Map<String, String>> 需要转换为字符串,但是在debug时,在idea小窗口单独执行代码,是可以正常编译的,离开idea小窗口执行就报错: 类型转换错误
报错代码如下:
在这里插入图片描述
目标:把 entry.getValue() 获取的值转为字符串

str = entry.getValue().toString() ;

反编译class文件,如下展示:在这里插入图片描述

str =((String)entry.getValue()).toString();

编译后代码,是先把 entry.getValue() 强制转为 String 后调用的 toString() ,因为我的 entry.getValue() 返回的是日期,所以这里铁定报错!!!可见,Java中代码预处理的结果并不是按照我们习惯上设想的那样。
解决方案:

String.value0f(entry.getValue());
/**
     * Returns the string representation of the {@code Object} argument.
     *
     * @param   obj   an {@code Object}.
     * @return  if the argument is {@code null}, then a string equal to
     *          {@code "null"}; otherwise, the value of
     *          {@code obj.toString()} is returned.
     * @see     java.lang.Object#toString()
     */
    public static String valueOf(Object obj) {
        return (obj == null) ? "null" : obj.toString();
    }

在这里插入图片描述
后来浅浅试 + “” 的方式将 entry.getValue() 转为字符串,class文件中依然是先把数据强制转为String,仍然报错!!!

entry.getValue() + ""

在这里插入图片描述
所以啊,避免以后麻烦,建议大家都直接用 String.valueOf() ,别玩那些花里胡哨的,浪费时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/393073.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Anaconda安装Pytorch(win系统)

前面有一篇博客专门讲了安装CPU版本的Pytorch&#xff0c;因为当时没有GPU&#xff0c;现在有了3090&#xff0c;专门记录一下安装GPU版的过程。一、添加清华源可参考官方anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror创建虚拟环境若没有…

一文解决Vue所有报错【持续更】

前言 Vue是一个流行的前端框架&#xff0c;许多web开发人员使用Vue来构建他们的应用程序。然而&#xff0c;正如任何其他框架一样&#xff0c;Vue也可能会发生错误。在这篇技术文章中&#xff0c;我们将探讨Vue常见的报错以及如何解决它们。 常见错误 1. Vue Template Error …

【目标检测】61、Dynamic Head Unifying Object Detection Heads with Attentions

文章目录一、背景二、方法2.1 scale-aware attention2.2 spatial-aware attention2.3 task-aware attention2.4 总体过程2.5 和现有的检测器适配2.6 和其他注意力机制的关联三、效果四、代码论文链接&#xff1a; https://arxiv.org/pdf/2106.08322.pdf代码链接&#xff1a;htt…

一文带你了解阿里的开源Java诊断工具 :Arthas

Arthas 是阿里开源的 Java 诊断工具&#xff0c;相比 JDK 内置的诊断工具&#xff0c;要更人性化&#xff0c;并且功能强大&#xff0c;可以实现许多问题的一键定位&#xff0c;是我用到的最方便的诊断工具。 下载和安装见官网 https://arthas.aliyun.com/doc/profiler.html 下…

Gem5模拟器,如何在linux系统中查看内存、CPU、硬盘、进程、网络等信息(十二)

虽然说&#xff0c;这个记录的是与Linux相关的操作&#xff0c;每次查每次忘&#xff0c;必须写一个来归总一下&#xff0c;以免我漫山遍野找命令。但是不想新开一一个主题&#xff0c;再加上确实是在运行模拟器时会关注这方面的信息&#xff0c;就把这一节搁这儿啦。 常见的查…

MedCalc v20.217 医学ROC曲线统计分析参考软件

MedCalc是一款医学 ROC 曲线统计软件,用于ROC曲线分析的参考软件,医学工作者设计的医学计算器,功能齐全。它可以帮助医生快速作出普通的医学计算,从而对症下药。提供超过76种常用的规则和方法,包括:病人数据、单位参数、费用计算等等。甚至可以将图形另存为BMP,PNG,GIF…

ATL中__if_exists的替代方案

__if_exists 和 __if_not_exists 是什么? __if_exists 和 __if_not_exists 是微软 ATL (Active Template Library&#xff0c;活动模板库) 中的关键字&#xff0c;可以用来在编译期间测试一个标识符是否存在。如果该标识符存在&#xff0c;则其关联的语句将会被执行。 __if_e…

2023年3月软考中级(系统集成项目管理工程师)报名走起!!!

系统集成项目管理工程师是全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;简称软考&#xff09;项目之一&#xff0c;是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试&#xff0c;既属于国家职业资格考试&#xff0c;又是职…

【Vue】Vue常见的6种指令

Vue的6种指令-前言指令&#xff08;Directives&#xff09;是vue 为开发者提供的模板语法&#xff0c;用于辅助开发者渲染页面的基本结构。vue 中的指令按照不同的用途可以分为如下6 大类① 内容渲染指令 ② 属性绑定指令 ③ 事件绑定指令 ④ 双向绑定指令 ⑤ 条件渲染指令 ⑥ …

Fortinet设备审计

作为网络安全领域的领导者&#xff0c;Fortinet提供了多种网络安全解决方案&#xff0c;包括下一代防火墙&#xff0c;即FortiGate。通过EventLog Analyzer的FortiGate预定义报表以及其他Fortinet应用程序的详尽列表&#xff0c;充分发挥Fortinet设备的最大作用。FortiGate您的…

粒子群算法

粒子群算法1 粒子群算法介绍2 基本思想3 算法流程4 代码实现1 粒子群算法介绍 粒子群优化算法(PSO&#xff1a;Particle swarm optimization) 是一种进化计算技术&#xff08;evolutionary computation&#xff09;。源于对鸟群捕食的行为研究。粒子群优化算法的基本思想是通过…

我建议,专家不要再建议了

作者| Mr.K 编辑| Emma来源| 技术领导力(ID&#xff1a;jishulingdaoli)关于买房&#xff0c;专家建议&#xff1a;不建议掏空六个钱包凑首付。&#xff08;网友&#xff1a;丈母娘等不到我自己挣够&#xff09;关于农村剩男多&#xff0c;城市剩女多&#xff0c;专家建议&am…

Adobe illustrator学习笔记

Adobe illustrator学习笔记 生命有限&#xff0c;设计无限 学习Adobe illustrator主要是用来制作SVG图片去制作字体图标&#xff0c;因此笔记内容大多会围绕SVG展开。 2023-3-5 1、Adobe illustrator简介 主要用于制作矢量图和插图 2、颜色模式介绍 显示颜色&#xff1a;RGB…

EXCEL里的各种奇怪计算问题:数字后面自动多了 0.0001, 数字后面位数变成000,以及一些取整,数学函数

1 公式计算后的数&#xff0c;用只粘贴数值后&#xff0c;后面自动多了 0.0001&#xff0c;导致不再是整数的问题 问题入戏 见第1个8400&#xff0c;计算时就出现了问题&#xff0c;按正常&#xff0c;这里8400应该是整数&#xff0c;而不应该带小数&#xff0c;但是确实就计…

我不写单元测试,被批了

我是3y&#xff0c;一年CRUD经验用十年的markdown程序员&#x1f468;&#x1f3fb;‍&#x1f4bb;常年被誉为职业八股文选手最近在看单元测试的东西&#xff0c;想跟大家聊聊我的感受。单元测试这块说实在的&#xff0c;我并不太熟悉&#xff0c;我几乎不写单元测试&#xff…

项目中维护一个随时更新的ui库的解决方案之一(uniapp+uview-plus)

1. 环境准备 需要准备两个仓库&#xff0c;第一个仓库用来存uniapp项目的相关代码&#xff0c;第二个用来存放uview-plus UI库的代码&#xff08;第二个仓库的仓库名称为uview-plus&#xff09; 2. 项目结构 我们uniapp目录结构大致如下 我们维护的ui组件应该是uni_modules下…

详解JAVA类加载器

目录 1.概述 2.双亲委派 3.ServiceClassLoader 4.URLClassLoader 5.加载冲突 1.概述 概念&#xff1a; 类加载器&#xff08;Class Loader&#xff09;是Java虚拟机&#xff08;JVM&#xff09;的一个重要组件&#xff0c;负责加载Java类到内存中并使其可以被JVM执行。类…

抢先看!界面控件DevExtreme 2023产品路线图曝光

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合&#xff0c;使您可以利用现代Web开发堆栈&#xff08;包括React&#xff0c;Angular&#xff0c;ASP.NET Core&#xff0c;jQuery&#xff0c;Knockout等&#xff09;构建交互式的Web应用程序&#xff0c;该套件附带功能齐…

【C++】优先级队列 priority_queue,仿函数和函数对象,反向迭代器

目录 1.介绍和实现 2.仿函数和函数对象 3.oj 4.反向迭代器 1.介绍和实现 他也在<queue>的头文件里 但是他的底层是堆&#xff0c;并不满足先入先出&#xff08;不要一看到queue就先入先出&#xff09; 他也是一个容器适配器&#xff0c;用vector适配的&#xff0c;为…

利用Qemu工具仿真ARM64平台

Windows系统利用Qemu仿真ARM64平台0 写在最前1 Windows安装Qemu1.1 下载Qemu1.2 安装Qemu1.3 添加环境变量1.4测试安装是否成功2. Qemu安装Ubuntu-Server-Arm-642.1 安装前的准备2.2 安装Ubuntu server arm 64位镜像3 Windows配置Qemu网络和传输文件3.1 参考内容3.2 Windows安装…