跳转至

Java 中 Long 类的深入解析

简介

在 Java 编程里,Long 类是一个非常关键的包装类,它为基本数据类型 long 提供了对象形式的封装。借助 Long 类,我们能够更便捷地操作 long 类型的数据,像在集合中存储、进行类型转换以及调用一些实用的方法等。本文会全方位地讲解 Long 类的基础概念、使用方法、常见实践与最佳实践,助力读者高效运用 Long 类。

目录

  1. 基础概念
  2. 使用方法
  3. 常见实践
  4. 最佳实践
  5. 小结
  6. 参考资料

基础概念

基本数据类型 long

在 Java 中,long 是一种基本数据类型,用于表示 64 位有符号整数,其取值范围是 -92233720368547758089223372036854775807。例如:

long num = 123456789L;

需要注意的是,在给 long 类型的变量赋值时,如果数值超出了 int 类型的范围,需要在数值后面加上 L 或者 l 来表明这是一个 long 类型的数值。

Long

Long 类是 long 基本数据类型的包装类,它位于 java.lang 包下,继承自 Number 类并实现了 Comparable<Long> 接口。Long 类提供了一系列的方法,用于对 long 类型的数据进行操作和处理。

使用方法

实例化 Long 对象

可以通过以下两种方式实例化 Long 对象:

// 使用构造函数
Long longObj1 = new Long(123L);
// 使用静态方法 valueOf
Long longObj2 = Long.valueOf(456L);

基本数据类型与 Long 对象的转换

// 基本数据类型转 Long 对象
long primitiveLong = 789L;
Long longObj = Long.valueOf(primitiveLong);

// Long 对象转基本数据类型
Long longObj3 = Long.valueOf(101112L);
long primitiveLong2 = longObj3.longValue();

字符串与 Long 对象的转换

// 字符串转 Long 对象
String str = "12345";
Long longObj4 = Long.parseLong(str);

// Long 对象转字符串
Long longObj5 = Long.valueOf(67890L);
String str2 = longObj5.toString();

常见实践

在集合中使用 Long

import java.util.ArrayList;
import java.util.List;

public class LongInCollection {
    public static void main(String[] args) {
        List<Long> longList = new ArrayList<>();
        longList.add(Long.valueOf(1L));
        longList.add(Long.valueOf(2L));
        longList.add(Long.valueOf(3L));

        for (Long num : longList) {
            System.out.println(num);
        }
    }
}

进行数学运算

public class LongMathOperation {
    public static void main(String[] args) {
        Long num1 = Long.valueOf(10L);
        Long num2 = Long.valueOf(20L);

        long sum = num1 + num2;
        long difference = num1 - num2;
        long product = num1 * num2;
        long quotient = num1 / num2;

        System.out.println("Sum: " + sum);
        System.out.println("Difference: " + difference);
        System.out.println("Product: " + product);
        System.out.println("Quotient: " + quotient);
    }
}

最佳实践

避免使用构造函数创建 Long 对象

在 Java 5 之后,推荐使用 Long.valueOf() 方法来创建 Long 对象,因为该方法会使用缓存机制,提高性能。

// 推荐做法
Long longObj6 = Long.valueOf(123L);
// 不推荐做法
Long longObj7 = new Long(123L);

进行空值检查

在使用 Long 对象之前,需要进行空值检查,避免出现 NullPointerException

public class NullCheck {
    public static void main(String[] args) {
        Long longObj8 = null;
        if (longObj8 != null) {
            long value = longObj8.longValue();
            System.out.println(value);
        }
    }
}

小结

本文详细介绍了 Java 中 Long 类的基础概念、使用方法、常见实践和最佳实践。Long 类作为 long 基本数据类型的包装类,提供了丰富的方法和功能,方便我们对 long 类型的数据进行操作。在使用 Long 类时,我们应该遵循最佳实践,如使用 Long.valueOf() 方法创建对象、进行空值检查等,以提高代码的性能和稳定性。

参考资料

  1. 《Effective Java》(第三版)

希望通过本文的介绍,读者能够深入理解并高效使用 Java 中的 Long 类。