当前位置: 首页 > 知识库问答 >
问题:

为什么integer.min_value不等于变量中存储的integer.min_value?

卢深
2023-03-14
...
private static final Integer MINF = Integer.MIN_VALUE;
Integer head,tail;
...
Interval i = new Interval(Integer.MIN_VALUE,10);
System.out.println(i.toString()); //[-2147483648,10]
public String toString() { 
    ...
    //What the hell?
    System.out.println("MINF == Integer.MIN_VALUE: " + (MINF == Integer.MIN_VALUE)); //true
    System.out.println("MINF == this.head: " + (MINF == this.head)); //false
    System.out.println("Integer.MIN_VALUE == this.head: " + (Integer.MIN_VALUE == this.head)); //true
    ...
    return "*insert interval in format*";
} 

共有1个答案

李昊苍
2023-03-14

Integer是包装类,是Object的子类,包含int值。

如果只使用基元类型int==将进行数值比较,而不是对象地址比较。

请注意,integer.min_value当然也是int

 类似资料:
  • 问题内容: 在Java中,当我说。我得到与答案相同的值,即包含。我已经在C ++中验证了同样的内容。 为什么会这样呢? 问题答案: 阅读Joshua Bloch撰写的Effective Java中的内容。 我找到了这个问题的答案,这里是解释:计算机使用二进制算术工作,java或任何语言的函数的逻辑如下: 注意:如何找到2的补码 对于给定的数字,我们首先找到它的补数,然后再加1。例如,假设我们的数字

  • 我试图理解将jwt存储在本地存储(倾向于xss)与cookie(倾向于csrf)的安全含义。我想了解如果我将jwt令牌存储在前端的应用状态中的安全性影响,就像在redux商店中一样。 编辑: 我试图了解有关存储代币的更多信息。似乎所有的文章和答案实际上都是在确定有两种方法可以做到这一点后开始讨论的,即cookie或浏览器存储。像这样一个相关的问题:在浏览器中的何处存储JWT?如何防范CSRF?像这

  • C:\python27\arcgis10.1;C:\python27\arcgis10.1\scripts;C:\python27\arcgis10.1\lib\site-packages\osgeo;C:\program Files(x86)\common Files\intergraph\grid Analysis sdk\1.0\program;%systemroot%\systemroot

  • 问题内容: 是真的。 我知道Java中的整数是32位,并且不能超过2 31 -1,但是我不明白为什么要在其结果中加1 而不是某种例外。更不用说像Ruby这样的透明转换为更大的类型了。 是否在某处指定了此行为?我可以依靠吗? 问题答案: 因为整数溢出。溢出时,下一个值为。相关JLS 如果整数加法溢出,则结果是数学和的低阶位,以某种足够大的二进制补码格式表示。如果发生溢出,则结果的符号与两个操作数值的

  • 本文向大家介绍char 型变量中能不能存储一个中文汉字,为什么?相关面试题,主要包含被问及char 型变量中能不能存储一个中文汉字,为什么?时的应答技巧和注意事项,需要的朋友参考一下 char 类型可以存储一个中文汉字,因为Java中使用的编码是Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个char 类型占2个字节(16 比特),所以放一个中文是没问

  • 来自Javadocs 使用易失性变量降低了内存一致性错误的风险,因为对易失性变量的任何写入都与同一变量的后续读取建立了先发生后发生的关系。这意味着对易失性变量的更改始终对其他线程可见。 如果对volatile变量所做的更改对任何其他线程都是可见的,那么为什么在多个线程写入该变量的情况下不能使用volatile变量呢。为什么volatile只用于一个线程正在写入或读取该变量,而另一个线程只读取该变量