在 Java 中,Long.valueOf()
是 java.lang.Long
类的一个静态方法,用于将给定的原始 long
类型值或 String
类型的值转换为 Long
类的实例。这个方法有几个不同的重载版本,以适应不同的使用场景。
以下是 Long.valueOf()
方法的一些常见用法:
原始 long 值转换为 Long 对象:
long primitiveLong = 123L;
Long longObject = Long.valueOf(primitiveLong);
在这个例子中,我们将原始的 long
类型值 123L
转换为 Long
类的实例。
String 值转换为 Long 对象:
String longString = "456";
Long longObject = Long.valueOf(longString);
在这个例子中,我们将表示长整数值的 String
对象 "456"
转换为 Long
类的实例。
自动拆箱和装箱:
Java 5 引入了自动装箱和拆箱的特性,这意味着你可以在原始类型 long
和包装类型 Long
之间轻松转换:
Long longObject = 789L; // 自动装箱
long primitiveLong = longObject; // 自动拆箱
注意事项:
- 当从
String
转换为Long
时,如果字符串不是有效的长整数值,valueOf()
方法将抛出NumberFormatException
。 Long.valueOf()
方法在处理字符串时,可能会根据需要创建新的Long
对象,或者在可能的情况下返回缓存的实例(对于-128
到127
范围内的值)。- 如果你需要在集合中存储长整数值,或者需要使用长整数的引用语义,使用
Long
类的实例是有用的。
示例:
public class LongValueExample {
public static void main(String[] args) {
Long longObject1 = Long.valueOf(123L);
Long longObject2 = Long.valueOf("456");
System.out.println("Long Object 1: " + longObject1);
System.out.println("Long Object 2: " + longObject2);
// 自动拆箱和装箱
Long longObject3 = 789L; // 自动装箱
long primitiveLong = longObject3; // 自动拆箱
System.out.println("Long Object 3: " + longObject3);
System.out.println("Primitive Long: " + primitiveLong);
}
}
在这个示例中,我们展示了如何使用 Long.valueOf()
方法将原始 long
值和 String
值转换为 Long
对象,并演示了自动装箱和拆箱的过程。