Integer $1=new Integer(23);
Integer $2=new Integer(23);
System.out.println(+$1==$2);
这里输出是true;为什么啊,+$1==$2前面的+是我的误输入,但是居然有输出:true;
如果是$1==$2的话,肯定是false,但这里多了个+号就变成false了,为虾米啊,望高手解答
Integer $2=new Integer(23);
System.out.println(+$1==$2);
这里输出是true;为什么啊,+$1==$2前面的+是我的误输入,但是居然有输出:true;
如果是$1==$2的话,肯定是false,但这里多了个+号就变成false了,为虾米啊,望高手解答
解决方案 »
- org.jdesktop.layout does not exist编译错误
- OSCache中将同一个对象放在Cache中两次,那么取出来是一个对象还是两个对象?
- 如果把一个类的实例从内存中清除?
- JAVA串口文件传输总收不全
- java包的使用到底需要设置些什么?各位大侠给看下,小弟感激涕零
- 关于抽象方法问题
- scrollRectToVisible参数为一个Rectangle,这个rectangle代表什么意思呢,怎么用呀
- 请问在java中责么调用外部命令,如exe, bat等等命令
- 急!求助:怎样刷新表格?(附源代码)
- tomcat4.1.12连接池(DBCP模式配置),具难问题,低手莫进(解决立刻给分,不够另外开帖24小时在线等待)!
- 简单的java问题,多回答多一条追加分到100分
- java 实现ftp服务器
楼主【tianyiwangok】截止到2008-07-29 17:22:43的历史汇总数据(不包括此帖):
发帖的总数量:8 发帖的总分数:125 每贴平均分数:15
回帖的总数量:10 得分贴总数量:1 回帖的得分率:10%
结贴的总数量:7 结贴的总分数:105
无满意结贴数:2 无满意结贴分:90
未结的帖子数:1 未结的总分数:20
结贴的百分比:87.50 % 结分的百分比:84.00 %
无满意结贴率:28.57 % 无满意结分率:85.71 %
楼主加油
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=tianyiwangok
测试public class Test{
public static void main(String[] args) {
Integer i1=new Integer(23);
Integer i2=new Integer(23);
System.out.println(i1==i2);
System.out.println(+i1==i2);
}
}bytecode:Compiled from "Test.java"
public class Test extends java.lang.Object{
public Test();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: returnpublic static void main(java.lang.String[]);
Code:
0: new #2; //class java/lang/Integer
3: dup
4: bipush 23
6: invokespecial #3; //Method java/lang/Integer."<init>":(I)V
9: astore_1
10: new #2; //class java/lang/Integer
13: dup
14: bipush 23
16: invokespecial #3; //Method java/lang/Integer."<init>":(I)V
19: astore_2
20: getstatic #4; //Field java/lang/System.out:Ljava/io/PrintStream;
23: aload_1
24: aload_2
25: if_acmpne 32
28: iconst_1
29: goto 33
32: iconst_0
33: invokevirtual #5; //Method java/io/PrintStream.println:(Z)V
36: getstatic #4; //Field java/lang/System.out:Ljava/io/PrintStream;
39: aload_1
40: invokevirtual #6; //Method java/lang/Integer.intValue:()I
43: aload_2
44: invokevirtual #6; //Method java/lang/Integer.intValue:()I
47: if_icmpne 54
50: iconst_1
51: goto 55
54: iconst_0
55: invokevirtual #5; //Method java/io/PrintStream.println:(Z)V
58: return}
我们看到第40行和44行有两个Integer.intValue,这就是去两个对象的int值.然后进行了int类型的比较.所以是true
{ public Test()
{
} public static void main(String args[])
{
Integer integer = new Integer(23);
Integer integer1 = new Integer(23);
System.out.println(integer == integer1);
System.out.println(integer.intValue() == integer1.intValue());
}
}