数据类型需注意的问题

来源:互联网 发布:谷歌优化排名 编辑:程序博客网 时间:2024/05/18 01:36
package test;


public class TestObject {
public static void main(String[] args){
String s1 = "abc";
String s2 = new String("abc");
System.out.println("hacode(s1,s2):"+(s1.hashCode()==s2.hashCode())+";equals(s1,s2):"+s1.equals(s2)+";s1==s2:"+(s1==s2));
//其他类型也一样
int i0 = 1;
Integer i = 1;
Integer i1 = new Integer(1);
Integer i2 = new Integer(01);
Integer i3 = new Integer("1");
Integer i4 = new Integer("01");
System.out.println("hacode(i1,i2):"+(i1.hashCode()==i2.hashCode())+";equals(i1,i2):"+i1.equals(i2)+";i1==i2:"+(i1==i2));
System.out.println("hacode(i3,i4):"+(i3.hashCode()==i4.hashCode())+";equals(i3,i4):"+i3.equals(i4)+";i3==i4:"+(i3==i4));
System.out.println("hacode(i1,i3):"+(i1.hashCode()==i3.hashCode())+";equals(i1,i3):"+i1.equals(i3)+";i1==i3:"+(i1==i3));
System.out.println("hacode(i2,i4):"+(i3.hashCode()==i4.hashCode())+";equals(i2,i4):"+i2.equals(i4)+";i2==i4:"+(i2==i4));
System.out.println("i0==i1:"+(i0==i1)+";i0==i2:"+(i0==i2)+";i0==i3:"+(i0==i3)+";i0==i4:"+(i0==i4));
System.out.println("i==i1:"+(i==i1)+";i==i2:"+(i==i2)+";i==i3:"+(i==i3)+";i==i4:"+(i==i4));
   Byte b1 = new Byte("25");
   //Byte b2 = new Byte(25);//编译出错
   Byte b2 = new Byte((byte) 25);//强制类型转换
   byte b3 = 25;
   System.out.println("b1="+b1+",b2="+b2+",b3="+b3+";b1==b3:"+(b1==b3)+";b1==b2:"+(b1==b2));
   Short t1 = null;
   //Short t2 = new Short(25);//编译错误
   Short t2 = new Short("25");
   Short t3 = new Short((short) 25);
   t1 = t2;
   System.out.println("t1.equals(t2):"+t1.equals(t2)+";t1==t2:"+(t1==t2));

}

}

输出结果:

hacode(s1,s2):true;equals(s1,s2):true;s1==s2:false
hacode(i1,i2):true;equals(i1,i2):true;i1==i2:false
hacode(i3,i4):true;equals(i3,i4):true;i3==i4:false
hacode(i1,i3):true;equals(i1,i3):true;i1==i3:false
hacode(i2,i4):true;equals(i2,i4):true;i2==i4:false
i0==i1:true;i0==i2:true;i0==i3:true;i0==i4:true
i==i1:false;i==i2:false;i==i3:false;i==i4:false
b1=25,b2=25,b3=25;b1==b3:true;b1==b2:false
t1.equals(t2):true;t1==t2:true

0 0
原创粉丝点击