类型转换的时候,.valueOf()和.parseX()的区别

Parsex:使用C#从头开始编写的可扩展(即将成为)解释器 立即下载
 转自:http://blog.youkuaiyun.com/qq_27093465/article/details/52473059

valueOf:返回的是个包装类
parseInt:返回的就是基本数据类型


二者的差异:

中间有个装箱拆箱的过程,如果准确的知道自己要的是什么返回值的话,
就可以明确清楚的选择用哪个方法来转换,而获得自己想要的值,且是最大效率的do it.

(当然,这一般情况下是没人去管这个的,因为这个是findbugs找到的,所以,才有这篇文章的出现。)

Java包装类型的装箱拆箱机制

JAVA基本类型,不用new来创建变量,而是创建一个并非是“引用”的“自动”变量。这个变量拥有它的“值”,并置于堆栈中,因此更加高效。

Java中的某些操作只能使用对象,而基本类型不是类类型,不能实例化成对象,比如Collection,就必须以对象实现。

所谓的装箱指的是基本类型转换为包装类型,拆箱指的是包装类型转换为基本类型。

以 int 为例,如下:

[java]  view plain  copy  在CODE上查看代码片 派生到我的代码片
  1. public static Integer valueOf(String s) throws NumberFormatException {  
  2.     return Integer.valueOf(parseInt(s, 10));  
  3. }  
  4.   
  5. public static Integer valueOf(int i) {  
  6.     if (i >= IntegerCache.low && i <= IntegerCache.high)  
  7.         return IntegerCache.cache[i + (-IntegerCache.low)];  
  8.     return new Integer(i);  
  9. }  
  10.   
  11.   
  12. public static int parseInt(String s) throws NumberFormatException {  
  13.     return parseInt(s,10);  
  14. }  
强化学习入门8—深入理解DDPG 本文是强化学习入门系列的第八篇,前面我们讲Actor-Critic时提到了DDPG。DDPG是google DeepMind团队提出的一种用于输出确定性动作的算法,它解决了Actor-Critic 神经网络每次参数更新前后都存在相关性,导致神经网络只能片面的看待问题这一缺点。同时也解决了DQN不能用于连续性动作的缺点。 阅读详情

相关推荐

如何实现SOLIDWORKS阵列的“智能变更”?

有时,我们在设计一个零件时,零件上有一排阵列孔,同时零件有不同的长度,我们又希望可以做到零件长度改变时,这排孔可以按长度等距增减孔阵列的个数;或是零件长度加长或缩短时,这排孔保持个数不变,按零件长度增减孔距。 那具体要怎么做呢?接下来,我们一起来看看怎么用SOLIDWORKS中简单的操作来实现这两种智能的变更: 零件长度加长或缩短时,这排孔要按长度等距增减孔阵列的个数。 零件长度加长或缩短时,这排孔保持个数不变,按零件长度增减孔距。 那接下来,我们一起来看看怎么用简单的操作来实现这两种智能的

SOLIDWORKS艾金米 2079

【区分】valueof函数和parse函数

valueOf和parse是两种用于将字符串转换为其他类型(如数字、枚举等)的常用方法,它们在不同的类中有不同的应用。valueOf。

weixin_44943389的博客 1384

windows11 远程桌面连接 通过代理连接RDP桌面报错 错误代码0x904 拓展错误代码0x7

打开windows Defender防火墙设置--允许应用通过防火墙更改设置--允许其他应用浏览--进入C:\WINDOWS\system32目录选择mstsc.exe进入C:\Windows\SysWOW64目录h'qmstsc.exe添加后列表里多了一个远程桌面连接,还有一个Remote Desktop Connection,配置网络权限后保存连接成功。

weixin_43978891的博客 1万+

parseInt 跟valueof区别??

1、返回值不同 parseInt 返回值是int型 valueof 返回值是Integer型2、valueof就是调用了parseInt方法的3、parseInt效率比valueof效率高

我只不过想上天罢了的博客 1万+

ROS学习笔记之——无人机PID调参过程记录

For cooperaive inquiries, please visit the website:guanweipeng.com

gwpscut的博客 6829

【计算机视觉】基于复杂环境下的车牌识别

本文针对复杂环境下(光照变化、车牌变形、噪声干扰)的车牌识别问题,提出了一套完整的优化方案。通过四个核心环节进行改进:1)采用CLAHE、同态滤波等技术优化光照处理;2)使用边缘检测和透视变换应对车牌变形;3)结合中值滤波和暗通道去噪算法消除干扰;4)改进字符分割与识别方法。文章提供了详细的Python实现代码,展示了从预处理到字符识别的完整流程,并通过多策略融合显著提升了复杂场景下的识别准确率。实验结果表明,该方法能有效应对各类复杂环境挑战,为实际应用提供了可靠解决方案。

2401_84149564的博客 1628

Java 中 valueOf 和 parseInt 的区别

最后,需要注意的是,无论是 valueOf 方法还是 parseInt 方法,在将字符串转换为数字类型时,都必须确保字符串中只包含数字字符。这个方法也可以将字符串转换为整数类型,但与 valueOf 方法不同的是,它返回的是一个基本数据类型的数字,而不是包装类型的数字。需要注意的是,在处理无效字符串时,parseInt 方法会抛出一个运行时异常,这意味着在代码运行时,如果出现无效字符串,会导致程序异常终止。需要注意的是,valueOf 方法返回的是一个包装类型的数字,而不是基本数据类型的数字。

tyxjolin的专栏 2677

嵌入式开发面试题全解析:指针、内存、数据类型关键问题总结

本文对嵌入式开发典型面试题进行深度解析,涵盖多方面关键知识。题目 19 揭示字符指针修改字符串常量的错误操作;题目 20 展现strcpy引发的缓冲区溢出风险;题目 21 体现未初始化数组与strlen结合的不可预测性;题目 22 通过位域与对齐规则计算结构体大小;题目 23 因unsigned char溢出导致循环异常。这些题目全面覆盖指针操作、内存管理、数据类型特性等核心内容,精准指出开发中易疏忽的陷阱,有助于理解编程规范,规避风险,提升代码质量与稳定性,是深入掌握嵌入式开发要点的实用指南。

嵌入式中手 1364

类型转换的时候,.valueOf()和.parseX(),.Xvalue()的区别

.valueOf()返回的是包装类(Wrapper Class)中的一些类型;而.parseX()返回的是基本数据类型,如int,char,double等。其参数应该是String类型. .Xvalue返回的是X类型,其中X必须为基本数据类型。 Integer.valueOf(x);返回的就是Integer类型。 Integer.parseInt("123")返回的就是int类型的123。 Do...

无论多么困难,也要熬下去!!! 135

《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)

《C++面向对象程序设计》✍千处细节、万字总结 文章目录《C++面向对象程序设计》✍千处细节、万字总结一、面向对象程序设计二、C++基础2.1 C++的产生和特点2.2 一个简单的C++示例程序2.3 C++在非面向对象方面对C语言的扩充输入和输出cinconst修饰符void型指针内联函数带有默认参数值的函数函数重载作用域标识符"::"强制类型转换new和delete运算符引用三、类和对象(一)3.1 类的构成3.2 成员函数的定义3.3 对象的定义和使用3.4 构造函数与析构函数构造函数成员初始化列表

像写诗一样优雅地写代码~ 78万+

Freeswitch 如何检测链路是否有回铃音

Freeswitch回铃音检测解决方案 问题描述:呼叫手机时,虽然信令正常(183/180),但部分手机无回铃音,导致坐席无法判断是否接通,用户体验差。 解决方案: 先播放本地音频作为回铃音 实时检测用户侧是否有声音输入 检测到声音后自动切换为用户侧音频 技术实现: 使用Freeswitch APP实现功能 创建结构体保存实例数据(包括铃声文件、会话句柄、VAD检测器等) 通过media bug机制实现音频流的替换 利用VAD(语音活动检测)技术监控用户侧声音 当检测到用户说话时自动终止本地铃声播放 该方案

2301_81507069的博客 51

parseint与valueOf的区别

string转int中的parseint与valueOf ①首先我们先来了解什么是装箱与拆箱: 装箱:普通类型转换为包装类型 Eg:integer i=10; 拆箱:包装类转换为普通类型 Eg:int j=i; 面试与笔试中会出现的问题; public class Main { public static void main(String[] args) { Integer i1 = 100; Integer i2 = 100; Integer i3 = 200; Integ

Blooming death的博客 6551

优化相机姿态和三维点云的Bundle Adjustment算法及其编程实现

重投影误差是指将优化后的相机姿态和三维点云投影到图像平面上,与对应的图像特征点之间的距离。Bundle Adjustment(捆绑调整)是一种用于同时优化相机姿态和三维点云的算法,它可以提高三维重建和相机定位的精度。下面是一个简单的Python示例代码,演示了如何使用Bundle Adjustment算法优化相机姿态和三维点云的参数。通过以上步骤,Bundle Adjustment算法可以不断地优化相机姿态和三维点云的参数,从而提高重建和定位的精度。Bundle Adjustment算法的编程实现。

CyberXZ的博客 741

parse(),ValueOf(),toString()

1.parse()是SimpleDateFomat里面的方法,你说的应该是parseInt()或parsefloat()这种方法吧, 顾名思义 比如说parseInt()就是把String类型转化为int类型。 如 String a= "123"; int b = Integer.parseInt(a); 这样b就等于123了。 2.ValueOf()方法比如说 Integer.va

bill的专栏 1936

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Java类型转换中valueOf方法和parseInt方法的区别

在Java的类型转换中,我们经常会使用valueOf或者parseInt(parseFloat/parseDouble等)来转换。这二者有什么区别呢?我们看如下的代码: String inputValue = "15.0"; int a = Integer.valueOf(inputValue); Integer c = Integer.valueOf(inputValue); int b = Integer.parseInt(inputValue); Integer d = In

明阳 2875

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

String常用函数总结

String常用函数总结 本来很懒得做笔记,但是天天忘天天查太辛苦了,记又记不住,向现实低头开始做(抄)学习笔记8!???? (1)搜索子串: "Hello".contains("ll");//是否包含ll "Hello".indexOf("l"); // 2 "Hello".lastIndexOf("l"); // 3 "Hello".startsWith("He"); // true "Hello".endsWith("lo"); // true (2)提取子串: "Hello".substring(

qq_40692756的博客 647

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【Java 基础】-- Integer.valueOf 和 Integer.parseInt 区别

如果你只需要整数值,并且不涉及对象操作,Integer.parseInt是首选。如果需要使用包装类(如需要支持null或用于集合等对象操作场景),可以选择 Integer.valueOf。

欢迎来到我的博客,一起探索代码里的世界! 1684

【Java】Java中数据类型转换parse()和valueOf(),toString()的区别

1.parse() parseXxx(String)形式,是指把字符串转换为数值型,其中Xxx对应不同的数据类型,就转换位指定的类型,如int型和float型。 int i = Integer.parseInt("123") //把字符串“123”转换为int型123 2.valueOf() Integer.valueOf() 是把String类型转化为Integer类型 如:...

人人都是量化师的专栏 1722

java中的valueOf与parseXXX有啥区别

以Byte类中的valueOf和parseByte为例 valueOf是转换为Byte封装类型 而parseByte是转换为byte基本数据类型 看一下jdk1.8的部分源码 /** * Byte类中构造了一个缓存,将-128-127这256个数存放在cache数组中 * 数组下标为0-256 */ private static class ByteCache { private...

Mart1nn的博客 5217

Java中的valueOf和parse...()

String和double的valueOf和parse...String的valueOf()Double的转换Double.valueOf()Double.parseDouble()区别 String的valueOf() 将任何对象转换成字符串类型。 总共有9个重载方法, 对于参数为char,都是通过new String()返回 对于参数为boolean,将返回对应的字符串:true或者fal...

Joe_owl的专栏 1万+

数据类型转换,valueOf和parse*的区别

背景 开发过程中,我们经常会用到类型转换的这两个方法,但是却不知道具体有什么区别,某天用到时临时起意,了解了一番,作此总结。 以下以Long类型为例。 源码分析 源码: public static Long valueOf(String s) throws NumberFormatException { return Long.valueOf(parseLong(s, 10)); } public static long parseLong(String s) throws Number..

weixin_44558428的博客 1494

探讨 Java 中 valueOf 和 parseInt 的区别

文章目录前言区别parseInt 前言 在编程中,遇到类型转换,好像会经常用到 parseInt 和 valueOf,当然这里只拿 Integer 类型进行陈述,其他类型也是雷同的; 想必有读者也跟我一样,经常交叉使用这两个方法,但却不知道这两者到底有什么区别,接下来就来探究一番;   区别 Integer.parseInt(s) 的作用就是把字符串 s 解析成有符号基本类型的 int; Integer.valueOf(s) 把字符串 s 解析成 Integer 对象类型,返回的对象可以调用 I

sid10t. 3万+

java valueof和parse_Java中parse()和valueOf(),toString()的区别

转载自:http://blog.sina.com.cn/s/blog_833611cd0100xh8b.html1.parse()是SimpleDateFomat里面的方法,你说的应该是parseInt()或parsefloat()这种方法吧,顾名思义 比如说parseInt()就是把String类型转化为int类型。如 String a= "123";int b = Integer.parseI...

weixin_39617470的博客 457

Double类parseDouble()和valueOf()方法的区别

数字类型的String字符串转换为浮点数通常采用parseDouble()和valueOf()方法,两者主要的两点区别。

astrologer_的博客 2万+

parse()和valueOf()toString()的区别?

1.parse()是SimpleDateFomat里面的方法 顾名思义 比如说parseInt()就是把String类型转化为int类型。 如 String a= "123"; int b = Integer.parseInt(a); 这样b就等于123了。 2.ValueOf()方法比如说 Integer.valueOf() 是把String类型转化为Integer类型(注意:是I

奔跑的蜗牛 793
上一篇: MYSQL性能优化的最佳20+条经验
下一篇: Maven依赖机制 工作原理 (分析maven项目和非maven项目的差别)
withtoNature
博客等级 码龄10年 20粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值