通过JDK源码角度分析Long类详解

通过JDK源码角度分析Long类详解

介绍Long类

Long类是java.lang包下的一个类,它是用来表示64位长整型数字的。在实际开发中,经常使用Long类来处理需要存储大整数的应用场景。

Long类的声明

public final class Long extends Number implements Comparable<Long> {
    //...
}

从上面的代码中可以看出,Long类是继承Number类的,并实现了Comparable接口。

Long类的属性

属性名称 类型 描述
MIN_VALUE long 常量,Long类型最小值
MAX_VALUE long 常量,Long类型最大值
TYPE Class 常量,Long类的Class对象

Long类的方法

方法名称 返回值 描述
bitCount() int 返回该长整型值在二进制下的1的个数
byteValue() byte 将长整型的值转换成byte值
compare(long x, long y) int 比较x和y的大小,如果x>y,返回1,如果x<y,返回-1,如果x==y,返回0
compareUnsigned(long x, long y) int 当作为无符号整数比较时,比较x和y的大小
decode(String nm) Long 将String类型的参数解析为Long类型的值
doubleValue() double 将Long类型转换为double类型
equals(Object obj) boolean 比较Long对象是否相等
floatValue() float 将Long类型转换为float类型
hashCode() int 返回Long对象的哈希码值
intValue() int 将Long类型转换为int类型
longValue() long 返回Long类型的值
parseLong(String s) long 将String类型的参数解析为长整型的值
reverse(long i) long 将该长整型值的二进制位进行反转
reverseBytes(long i) long 将该长整型值的字节序进行反转
shortValue() short 将该长整型值转换成short类型
signum(long i) int 返回该长整型的符号

通过示例说明Long类的使用

下面我们通过两个示例展示Long类的应用。

示例1:将Long类型的数字转为二进制字符串

long num = 123456L;
String binaryStr =Long.toBinaryString(num);
System.out.println(binaryStr);

在这个示例中,我们定义了一个long类型的变量num,将其赋值为123456。之后,我们通过Long类的toBinaryString方法,将num转换为二进制字符串,并将其打印出来。使用这个方法可以很方便的将数字进行二进制化处理。

示例2:将二进制字符串转为Long类型的数字

String binaryStr = "0011100010010000001";
long num = Long.parseLong(binaryStr, 2);
System.out.println(num);

在这个示例中,我们定义了一个String类型的变量binaryStr,将其赋值为0011100010010000001(也就是123456的二进制字符串),之后,我们通过Long类的parseLong方法,将binaryStr转换为long类型的数字,并将其打印出来。使用这个方法可以很方便的将二进制字符串转化为数字。

总结

本篇文章从JDK源码角度详细讲解了Long类的使用,包括了Long类的声明、属性、方法以及通过两个示例来说明Long类的实际应用。掌握了Long类的使用,可以更好的进行大整数的处理。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:通过JDK源码角度分析Long类详解 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Spring框架学习之Cache抽象详解

    Spring框架学习之Cache抽象详解 什么是Cache抽象 Cache 抽象是 Spring 框架为了简化缓存的使用而提供的一种抽象层,它定义了 Spring 缓存的公共 API,并且提供了对不同缓存系统的支持。通过在 Cache 抽象上编程,应用程序开发人员可以将其应用程序代码与底层缓存实现解耦,从而使系统更加可维护和可扩展。 Cache 抽象的核心接…

    Java 2023年5月19日
    00
  • Linux 安装JDK Tomcat MySQL的教程(使用Mac远程访问)

    Linux 安装 JDK Tomcat MySQL 的教程(使用 Mac 远程访问) 前置条件 基本的 Linux 操作知识 一台远程 Linux 服务器 本地 macOS 系统 安装 JDK 从官网下载jdk-8u251-linux-x64.tar.gz文件。(根据系统版本选择对应文件) 将下载的文件上传到服务器,并解压到 /usr/local/jdk8 …

    Java 2023年5月20日
    00
  • Springboot拦截器如何获取@RequestBody参数

    下面是关于Spring Boot拦截器如何获取@RequestBody参数的攻略。 什么是拦截器 拦截器是Spring框架中的一个组件,它是在请求到达Controller之前或离开Controller之后执行的代码块。拦截器主要用于对请求进行预处理和后处理,在预处理中可以实现一些安全性检查和参数校验等操作,而后处理中可以对响应结果进行处理。 如何获取@Req…

    Java 2023年5月20日
    00
  • Java集合源码全面分析

    Java集合源码全面分析是一部分Java开发者必备的技能。这个攻略将为您提供一些提示,如何最有效地学习和理解Java集合的源代码。 1. 学习Java集合的类层次结构 Java集合框架包含多个类和接口,这些类和接口组成了一个复杂的层次结构。您应该首先了解这个层次结构,确定每个类的位置以及它们如何相互调用。可以通过查找Java集合的类图或在线资料来帮助您。 2…

    Java 2023年5月26日
    00
  • springboot打包如何忽略Test单元测试

    使用Maven插件 首先在pom.xml中使用Maven插件,添加如下代码段,其中,true表示不执行单元测试: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spri…

    Java 2023年5月19日
    00
  • Java中常用的代码汇总

    Java中常用的代码汇总攻略 Java是一门非常流行的编程语言,具有非常强大的功能。在Java编程过程中,我们会用到很多常用的代码。本篇攻略将为您总结Java中常用的代码,让您更加轻松地应对编程工作。 基本语法 定义变量 定义变量是Java编程的基本语法之一,与其他编程语言相似。定义变量时,我们需要声明变量的数据类型以及变量名称。例如: int i = 10…

    Java 2023年5月23日
    00
  • jsp 中HttpClient中的POST方法实例详解

    下面我将详细讲解“jsp 中HttpClient中的POST方法实例详解”的攻略。 1.介绍 首先,我们需要了解 HttpClient 的作用。HttpClient 是 Apache 的开源 HTTP 客户端,可用于与 HTTP 服务器通信。它支持 HTTP 协议、HTTPS 协议、FTP 协议等。 本文主要介绍 HttpClient 中的 POST 方法,…

    Java 2023年6月15日
    00
  • Java连接Mysql数据库详细代码实例

    Java连接Mysql数据库详细代码实例 Java是一种跨平台语言,可以用于开发各种应用程序,包括与数据库的交互。Mysql是一种常用的开源关系型数据库,本文将介绍如何使用Java连接Mysql数据库,并提供详细的代码实例。 1. 导入Mysql驱动包 Java连接Mysql数据库需要用到相应的驱动包,可以到 Mysql官网下载最新的Mysql驱动包。 2.…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部