Long.getLong(s)、Long.valueOf(s)、Long.parseLong(s) 之间的区别,其中 "s" 是字符串类型
Difference between Long.getLong(s), Long.valueOf(s), Long.parseLong(s) where "s" is a String Type
我想将 String 转换为 Long。但我找到了 4 种不同的方式来存档该提案。
Long.getLong(s) - Determines the long value of the system property
with the specified name.
Long.valueOf(s) - Returns a Long object holding the value of the
specified String
Long.parseLong(s) - Parses the string argument as a signed decimal
long.
new Long(s) - Constructs a newly allocated Long object that represents
the long value indicated by the String parameter
除此之外 "parseLong()" return 一个 long 值和另外 3 个 return Long 对象。
它们之间有什么区别,它们的最佳使用情况是什么?(什么时候使用它们),哪个性能更好?
提前致谢。
编辑:
This gave me the difference between "valueOf(s)" and "new Long(s)" 和
还发现 the diference between "valueOf(s)" and "Long.parseLong(s)"。
但我还是不明白 Long.getLong(s) 有什么用。 "Determines the long value of the system property with the specified name" 是什么意思?
Long.getLong(s)
不会把里面的字符串转成long(“123”不会变成123)。里面的字符串是一个特定的名字,native library会return相应的一个long值
Long.valueOf(s)
当 s 是字符串时类似于这个:new Long(Long.parseLong(s))
Long.valueOf(l)
当 l 是 long
类型时会将主要数据类型 long 转换为 Long。在 java
中阅读有关拆箱和自动装箱的信息
Long.parseLong(s)
会将里面的字符串转成long值。
所以它们都是不同的,除了 Long.valueOf(l)
和 Long.parseLong(s)
它们几乎相同,但是第一个 return 是一个 Long
对象,另一个 returns long
主要数据类型。
我想将 String 转换为 Long。但我找到了 4 种不同的方式来存档该提案。
Long.getLong(s) - Determines the long value of the system property with the specified name.
Long.valueOf(s) - Returns a Long object holding the value of the specified String
Long.parseLong(s) - Parses the string argument as a signed decimal long.
new Long(s) - Constructs a newly allocated Long object that represents the long value indicated by the String parameter
除此之外 "parseLong()" return 一个 long 值和另外 3 个 return Long 对象。 它们之间有什么区别,它们的最佳使用情况是什么?(什么时候使用它们),哪个性能更好?
提前致谢。
编辑:
This gave me the difference between "valueOf(s)" and "new Long(s)" 和 还发现 the diference between "valueOf(s)" and "Long.parseLong(s)"。
但我还是不明白 Long.getLong(s) 有什么用。 "Determines the long value of the system property with the specified name" 是什么意思?
Long.getLong(s)
不会把里面的字符串转成long(“123”不会变成123)。里面的字符串是一个特定的名字,native library会return相应的一个long值
Long.valueOf(s)
当 s 是字符串时类似于这个:new Long(Long.parseLong(s))
Long.valueOf(l)
当 l 是 long
类型时会将主要数据类型 long 转换为 Long。在 java
Long.parseLong(s)
会将里面的字符串转成long值。
所以它们都是不同的,除了 Long.valueOf(l)
和 Long.parseLong(s)
它们几乎相同,但是第一个 return 是一个 Long
对象,另一个 returns long
主要数据类型。