为什么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();
答案 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
的唯一方法。