我在Java标准库(6)中查看了

compare(double, double)的实现。内容如下:

public static int compare(double d1, double d2) {

if (d1 < d2)

return -1; // Neither val is NaN, thisVal is smaller

if (d1 > d2)

return 1; // Neither val is NaN, thisVal is larger

long thisBits = Double.doubleToLongBits(d1);

long anotherBits = Double.doubleToLongBits(d2);

return (thisBits == anotherBits ? 0 : // Values are equal

(thisBits < anotherBits ? -1 : // (-0.0, 0.0) or (!NaN, NaN)

1)); // (0.0, -0.0) or (NaN, !NaN)

}

这种实现的优点是什么?

编辑:“优点”是一个(非常)坏的词选择。我想知道这是如何工作的。

java中double..compare_为什么Java的Double.compare(double,double)实现了它的样子?相关推荐

  1. java 泛型详解、Java中的泛型方法、 java泛型详解

    本文参考java 泛型详解.Java中的泛型方法. java泛型详解 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用. 什么是泛型?为什么要使用泛型? 泛型,即& ...

  2. Java 中的 XML:Java 文档模型的用法

    Java 中的 XML:Java 文档模型的用法 英文原文 内容: 代码对比 DOM JDOM dom4j Electric XML XPP 结束语 下一次... 参考资料 关于作者 对本文的评价 相 ...

  3. 在java中使用JMH(Java Microbenchmark Harness)做性能测试

    文章目录 使用JMH做性能测试 BenchmarkMode Fork和Warmup State和Scope 在java中使用JMH(Java Microbenchmark Harness)做性能测试 ...

  4. java中函数的调用,java中如何调用函数

    java动态调用函数,Java 中使用动态代码,java函数调用,java中如何调用函数 如何在 Java 中调用 C 函数 宗薇 [期刊名称]<网络新媒体技术> [年(卷),期]2000 ...

  5. Java中使用json时java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决

    Java中使用json时java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决 参考文章: (1)Java中使用json时java.lan ...

  6. java中想要保留2位小数_java使double保留两位小数的多方法 java保留两位小数

    mport java.text.DecimalFormat; DecimalFormat    df   = new DecimalFormat("######0.00"); do ...

  7. java中为什么设计包装类,Java 中为什么要设计包装类

    最近文章更新频率慢了,因为最近在准备暑期实习,之前寻思着一边复习一边写文章,两全其美.后来发现一篇读起来比较舒服的文章写出来加上配图得花上四五个小时甚至更多,但这个知识点我可能半个小时就能复习完了,春 ...

  8. Java中的数组,java开发面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  9. 在Java中调用Python,java面试题,java初级笔试题

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 写在 ...

  10. JAVA中整型常量的长度,Java基础入门篇(三)——Java常量、变量,

    Java基础入门篇(三)--Java常量.变量, 一.Java常量 (一)什么是常量 常量指的是在程序中固定不变的值,是不能改变的数据.在Java中,常量包括整型常量.浮点型常量.布尔常量.字符常量等 ...

最新文章

  1. 【学习笔记】超简单的快速数论变换(NTT)(FFT的优化)(含全套证明)
  2. 【转】C++ Vector(向量容器)
  3. 超出网络bios会话限制_如何设置网络以防止数据丢失
  4. 超50万行代码、GitHub 4200星:腾讯重磅发布全栈机器学习平台Angel 3.0
  5. js 执行环境 活动对象 变量对象 作用域链的理解
  6. php 取字符串的数字,php提取字符串中的数字
  7. C# Task 循环任务_聊聊 JavaScript 的并发、异步和事件循环
  8. San 3.7.3 发布,百度开源的 MVVM 组件框架
  9. 贴片电容耐压和额定电压
  10. matlab基础学习——基础数学函数(持续更新)
  11. 第三章 集合的基本概念和运算
  12. 零基础应如何学习UI设计
  13. MATLAB实现一元三次方程求解/盛金公式
  14. 如何用数学课件制作工具绘制函数图像
  15. 海量智库第5期|Vastbase G100核心技术介绍之「SQL by pass技术」
  16. 网页使用的WindowMediaPlayer插件的问题22D6F312-B0F6-11D0-94AB-0080C74C7E95
  17. 应用推广工具包Appboy获100万美金种子投资
  18. ACR Loss: Adaptive Coordinate-based Regression Loss for Face Alignment
  19. mysql使用教程dos图解_MYSQL使用指南DOS下操作
  20. Overture5.5.3 官方版下载— 钢琴打谱软件

热门文章

  1. 阿里云CTO王坚当选院士,高手的人生都是如此雷同:生命的信仰
  2. 1设计一身高体重测量仪c语言,身高体重测量仪使用经验
  3. Typescript的优缺点和面试题
  4. PPT图片虚化效果要怎样实现?
  5. Android集成微信支付时返回错误码errcode:40125解决方案
  6. 超详细的元器件分类大全—电阻、电容、电感
  7. Delphi xe5 StyleBook的用法(待续)
  8. 跑分软件测试原理,只会比高低?教你三分钟看懂安兔兔跑分
  9. Redis Lpush 命令
  10. 电话销售的6个关键成功因素