广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java Long类型对比分析
  • 281
分享到

Java Long类型对比分析

2024-04-02 19:04:59 281人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

Java Long类型对比 在开发的到一个很基础的问题 在代码中,两个Long类型数据比较用“==”,结果有时候true有时候false,原本以为Long会自动转long然后再比较,

Java Long类型对比

开发的到一个很基础的问题

在代码中,两个Long类型数据比较用“==”,结果有时候true有时候false,原本以为Long会自动转long然后再比较,不会是这里的错,找来找去实在找不到其他原因了,我就打印这两个Long类型出来看,果然是不相等,于是脸黑了一阵......

去查了一下资料,原来是这样:

Java 基本类型的包装类的大部分都实现了常量池技术,即Byte,Short,Integer,Long,Character;

这5种包装类默认创建了数值[-128,127]的相应类型的缓存数据,但是超出此范围仍然会去创建新的对象。

所以

当Long型的值超过了【-128,127】的时候,他会new一个新的对象,如果没有超过就会放到缓存中。

所以当Long型的值超过了【-128,127】的时候,“==”判断就不会相等了,可以理解为此时“==”比较的是两个对象的地址而不是值。

Long class源码


public static Long valueOf(long l) {
    final int offset = 128;
    if (l >= -128 && l <= 127) { // will cache
        return LonGCache.cache[(int)l + offset];
    }
    return new Long(l);
}

正确的Long类型比较姿势:

1.使用Long的longValue()方法,转换成long值进行比较


Long a = 128l;
Long b = 128l;
a.longValue() == b.longValue(); //true

2.使用Long的equals()方法


Long a = 128l;
Long b = 128l;
a.equals(b); //true

Long class 源码:


public boolean equals(Object obj) {
    if (obj instanceof Long) {
        return value == ((Long)obj).longValue();
    }
    return false;
}

java Long型和long型的比较大小

一、Long数据的大小的比较

对于Long类型的数据,这个数据是一个对象,所以对象不可以直接通过“>”,“==”,“<”的比较,如果要比较两个对象的是否相等的话,我们可以用Long对象的.equals()方法:

二、long数据的大小的比较

对于long类型的数据,这个数据是一个基本数据类型,不属于对象,所以可以直接通过“>”,“==”,“<”作比较

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Java Long类型对比分析

本文链接: https://www.lsjlt.com/news/130145.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java Long类型对比分析
    Java Long类型对比 在开发的到一个很基础的问题 在代码中,两个Long类型数据比较用“==”,结果有时候true有时候false,原本以为Long会自动转long然后再比较,...
    99+
    2022-11-12
  • java Long 类型如何比较
    Java 中的 Long 类型可以使用下列方法进行比较: 使用 compareTo 方法: long x = 10;long y = 20;int result = Long.compare(x, y);if (result < 0...
    99+
    2023-10-03
  • Java中long类型与Long类型的区别和大小比较详解
    前言最近在学习java,接触到了long类型,发现网上这方面的资料较乱,所以决定总结一下,在Java中我们经常要做一些判断,而对于判断的话,用的最多的便是“>”、“==”、“<”的比较,这里我们进行一个Long类型数据和long...
    99+
    2023-05-30
    java long类型 ava
  • Java、C#线程模型分析对比 (转)
    Java、C#线程模型分析对比 (转)[@more@]  Java、C#都提供了面向对象的线程模型。它们都抽象出了线程对象,而开发人员在某个类的成员方法中实现线程应用逻辑。通过分离线程对象和线程方法,简化了线程应用逻辑的开发。在J...
    99+
    2023-06-03
  • 大数据分析中的数据类型:Java和NumPy的优劣对比。
    大数据分析是当今数据科学领域中最重要的研究方向之一。随着数据规模的不断增大,数据类型也越来越多样化。在大数据分析中,数据类型的选择直接影响着数据处理的效率和准确性。本文将探讨大数据分析中两种常见的数据类型:Java和NumPy,并比较它们的...
    99+
    2023-07-08
    numy 大数据 数据类型
  • Java如何定义Long类型
    目录Java定义Long数据类型Java定义的long和float为什么需要加L和F?定义long类型变量为什么需要加L? 定义float类型变量为什么需要加F?Java定...
    99+
    2022-11-13
  • Java怎么定义Long类型
    今天小编给大家分享一下Java怎么定义Long类型的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Java定义Long数据类型...
    99+
    2023-07-02
  • java判断是否是Long类型
    java判断是否是Long类型首先定义一个getType方法,接收一个Object类型的参数;然后使用getClass方法获取class类型的对象;再使用toString()方法转为字符串,并使用substring截取字符串获得变量类型;最...
    99+
    2017-10-29
    java教程 java 变量类型
  • Java 输入输出 IO NIO AIO三兄弟对比分析对比分析
    目录1、Java I/O发展史    2、Java IO2.1 简介2.2 基础概念2.2.1 输入流和输出流2.2.2 字节流和字符流2.2.3 缓冲...
    99+
    2023-05-15
    Java 输入输出IO NIO AIO IO NIO AIO对比分析
  • Clojure与Java对比实例分析
    这篇文章主要介绍“Clojure与Java对比实例分析”,在日常操作中,相信很多人在Clojure与Java对比实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Clojure与Java对比实例分析”的疑...
    99+
    2023-07-02
  • java中long类型占多少字节
    所谓的占用字节数 就是申请内存的时候所占的空间大小。long 8字节 最小值是 -9,223,372,036,854,775,808(-2^63);最大值是 9,223,372,036,854,775,807(2^63 -1);...
    99+
    2019-09-27
    java入门 long 字节 java
  • java long 类型数据的赋值方式
    目录java long类型数据的赋值问题解决把null赋值给long产生的奇怪问题问题产生的原因java long类型数据的赋值 问题 当程序出现较大的数值的时候(超过int类型:-...
    99+
    2022-11-13
  • 整理部分java代码和oracle,mysql,sql server对比数据类型
    搜索了一下网上关于数据类型的对比,几乎没有三种数据库的对比,我就写了一些字段的对比,如果有不对的地方,请各位不吝指教。JAVA字段oracle字段mysql字段sql server字段intnumberin...
    99+
    2022-10-18
  • Java中对象比较的示例分析
    这篇文章主要介绍了Java中对象比较的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。元素比较基本类型的比较在Java中,基本类型的对象可以直接比较大小public&n...
    99+
    2023-06-29
  • C++ 基本数据类型中int、long等整数类型取值范围及原理分析
    目录基础知识C++ 整数类型及所占内存取值范围计算基本数据类型中int、long等整数类型取值范围基础知识 计算机中所有的整数都是以补吗的形式存储的。 正数的补码与原码相同,负数的补...
    99+
    2022-11-13
    C++ 基本数据类型 基本数据类型int 基本数据类型long 整数类型取值范围
  • java各种类型对象占用内存情况分析
    目录前言基本数据类型占用包装类型占用基本类型数组占用封装类型数组占用String占用内存前言 其实一般的程序猿根本不用了解这么深,只有当你到了一定层次,需要了解jvm内部运行机制,或...
    99+
    2022-11-12
  • PHP、Spring、Apache 中数据类型的比较分析
    在编程语言中,数据类型是非常重要的概念,它决定了变量的取值范围和运算方式。在PHP、Spring和Apache这三个流行的框架中,数据类型也扮演着重要的角色。在本文中,我们将比较分析这三个框架中的数据类型。 一、PHP中的数据类型 PHP...
    99+
    2023-07-04
    数据类型 spring apache
  • Golang数据类型实例代码比较分析
    这篇文章主要讲解了“Golang数据类型实例代码比较分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang数据类型实例代码比较分析”吧!分类说明是否能比较说明基本类型整型( int/...
    99+
    2023-07-06
  • 解析Spring Mvc Long类型精度丢失问题
    目录背景Spring Boot Controller前端调用方案方案一 @JsonSerialize 注解方案二 全局处理器与swagger集成总结背景 在使用Spring Boot...
    99+
    2022-11-12
  • java long是几位有符号数据类型
    本篇内容主要讲解“java long是几位有符号数据类型”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java long是几位有符号数据类型”吧!java long是64位。long数据类型是6...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作