String 转 Long类型 常用两个方法对比分析

本文分析了在Java中将String转换为Long类型时,使用Long.valueOf()和Long.parseLong()两种方法的差异。Long.valueOf()返回Long包装类对象,适合运算操作;Long.parseLong()返回long基本数据类型,适用于需要节省内存或直接数学运算的场景。在Hibernate等框架中,通常使用Long以避免装箱/拆箱操作,并处理可能的null值。选择使用Long还是long取决于属性是否允许为null以及具体业务需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Long.valueOf("String")返回Long包装类型

包装类型: ByteIntegerShortLongBooleanCharacterFloatDouble

Long.parseLong("String")返回long基本数据类型

基本数据类型:byteint short long booleanchar floatdouble

什么是包装类?
在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。

Long 就是一个包装类,它包装了一个整数值,然后可以在里面写一些运算符重载的方法使它支持某些运算。这个时候可以赋值:

Long l = new Long(10);

现在变量 l 就是一个对象,不是一个数字。 

long是原始数据类型,没有属性方法,只能进行数学运算,Long是long相对应的引用数据类型,它有方法和属性,一个没方法属性,一个有方法属性,这就是它们的区别。

ID用long还是Long?

hibernate、el表达式等都是包装类型,用Long类型可以减少装箱/拆箱;

在hibernate中的自增的hid在实体中的类型要用Long 来定义而不是long。否则在DWR的匹配过程中会出现Marshallingerror:null的错误提示。

到底是选择Long 还是long这个还得看具体环境,如果你认为这个属性不能为null,那么就用long,因为它默认初值为0,如果这个字段可以为null,那么就应该选择Long

个人见解,具体还是要以实际情况为准,如:有大于小于等于业务逻辑时,需要使用long比较方便,而Long是对象不能直接进行数字逻辑对比的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值