Java类Long - 方法longValue()

时间:2014-01-04 15:32:26

标签: java long-integer

为什么java类Long有一个方法longValue()?那有什么用? java doc说

the numeric value represented by this object after conversion to type long.

我需要这个吗?对于任何长值,下面的第一个代码是否与第二个代码不同?

//Is there a value where this myLong value contains other...
Long l = new Long("...");
long myLong = l;

//...than this one?
Long l = new Long("...");
long myLong = l.longValue();

3 个答案:

答案 0 :(得分:6)

在Java5之前,没有Autoboxing and Unboxing,因此longValue()方法转换为原始long并返回。

public long More ...longValue() {
722         return (long)value;
723     }

所以没有具体的区别。在java5之后的任何方式下面的代码就足够了

Long l = new Long("...");
long myLong = l;

答案 1 :(得分:3)

Long扩展了具有abstract long longValue()方法的Number。因此Long必须实现它,就像它实现doubleValue一样。

当你有一个Long aLong时,你总是可以写long primitive = aLong;并使用自动装箱,所以这个方法在Long类中没用。

答案 2 :(得分:2)

这是Java的第一个版本中引入的旧方法。 在当天,该语言中没有发件箱/自动装箱功能(它们仅在Java 5.0中引入),这是从long获取Long的唯一方法。