今天偶然看到一篇帖子,竞猜
Integer a=10;
Integer b=10;
Integer c=new Integer(10);
Integer d=new Integer(10);
System.out.println(a==b);
System.out.println(c==d);
System.out.println(a.equals(b));
System.out.println(c.equals(d));
System.out.println(a.equals(c));
结果为
true
false
true
true
true
关于equals()
方法就不提了,这里主要说一下 ==
再看一个例子
Integer a = 127;
Integer b = 127;
Integer c = 128;
Integer d = 128;
System.out.println(a == b);
System.out.println(c == d);
结果为
true
false
答案解析:
1.==
比较的是对象的引用
当且仅当比较的两个引用指向同一对象才返回true
。
2.Integer
i = XXX
看看Integer
的源代码就知道了,其实就是Integer
把-127-128
之间的每个值都建立了一个对应的Integer
对象,类似一个缓存。由于Integer
是不可变类,因此这些缓存的Integer
对象可以安全的重复使用。
Integer i = XXX
,就是Integer i = Interger.valueOf(XXX),
首先判断XXX
是否在-127-127
之间,如果是直接return
已经存在的对象,否则就只能new
一个了。
分享到:
- 2009-11-24 21:56
- 浏览 7064
- 评论(1)
- 论坛回复 / 浏览 (1 / 1433)
- 查看更多
相关推荐
JAVA Integer == equal 比较 doc 比较大小 是否相等
integer width = 1381 integer height = 620 boolean titlebar = true string title = "Untitled" boolean controlmenu = true windowtype windowtype = response! long backcolor = 67108864 string icon = "App...
constant h_data: integer:=640; constant h_front: integer:=16; constant h_back: integer:=48; constant h_sync: integer:=96; constant h_period: integer:= h_sync + h_data + h_front + h_back; -- ...
Integer ii_barwidth = -1 // Default to negative value. long il_barcolor=78682240 long il_barmovecolor=8421504 integer ii_minobjectsize = 20 boolean ib_performredraw=True //-- Internal ...
实验目的: 实现时钟显示,1——12——1——11——0——1循环,时钟调时,闹铃,闹铃定时等功能。 程序和注释: ...signal beep_m1,beep_m2,beep_h1,beep_h2:integer:=1; signal AM_PM:std_logic:='0';
计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,...
可以作为初学者的参考,让你更加了解java基础的一些必须掌握的知识。
累加求和1到100 Private Sub Command1_Click() Dim i As Integer, sum As Integer sum = 0 For i = 1 To 100 sum = sum + i Next Text1.Text = sum End Sub Private Sub Command2_Click() End End Sub 1到100的奇数...
存在下述例子,判断其输出结果。 public class Main{ public static void main(String[] agrs){ Integer a = 110;...我们知道,在Java中存在基本数据类型和引用数据类型,而Integer作为int的封装类,Integer
一个给定的正整数,循环的将每一位相加,只要得到的结果是大于10的数,就继续循环相加
基于cyclone2 FPGA设计的VGA显示飞机小游戏Quartus工程源码+文档说明 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;...-- life_enemy:in integer
Integer i=new Integer(1); Integer j=new Integer(1); System.out.println(i==j);//false Integer m=1; Integer n=1; System.out.println(m==n);//true Integer x=128; Integer y=128; System.out.println(x==y);...
VID_ADDR_WIDTH : integer := 32; VID_BURST_WIDTH : integer := 8; VID_BURST_LENGTH : integer := 8; NDI_ADDR_WIDTH : integer := 32; NDI_BURST_WIDTH : integer := 8; NDI_BURST_LENGTH : integer := 8 ...
int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者而integer 是后者(也是一个类);因此在类进行初始化时int类的变量...
义一个整数集合类integerSet。这种类型的对象可以存储10个20~80之间的整数,即他的内部有一个整型数组存储数据。编程: (1) 判断两个inergerSet类对象S1和S2是否相等。提示:集合相等的前提是所有元素相等。 (2)...
ADDR_WIDTH : integer := 16 -- default value DATA_WIDTH : integer := 16 -- default value ) port ( RESET_L : in std_logic CLK : in std_logic DRQ_L : in std_logic DMAACK_L : in std_logic ...
/此公用文件主要是对考勤机操作, 如果对收费机操作则可参考此文件定义结构即可. unit uPublic; interface Uses Windows , SysUtils , QForms , StdCtrls ,... function GetSizeOfData(pCommand: Pointer): Integer...
Public Const SFJ_Pro_SegmentLength As Integer = 1024 '数据包的数据长度部分占字节位数 Public Const SFJ_Pro_Packet_DataLen_Byte_Num As Integer = 8 '数据包的数据类型部分占字节位数 Public ...
在这里拿出Integer a = 59,Integer b = 59,这种又会出现什么状况呢,如果按照装箱和拆箱来看就是true,如果按照对象来看,就是false,在你举棋不定得时候你就应该看看源码了。 /** * Cache to support the ...