数据类型需注意的问题
2014-03-25 10:46
134 查看
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
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
相关文章推荐
- Oracle数据类型Long需要注意的问题
- java 获取若干小时之前的时刻 注意数据类型的范围问题
- Java向MySQL数据库插入时间类型Date数据时需要注意的问题
- java 获取若干小时之前的时刻 注意数据类型的范围问题
- 时间类型数据使用between ...and ..语句条件查询时应注意的问题
- double float 类型的数据(小数)在作计算的时候,需要注意的。(Java和JavaScript)都有这问题
- acm应该注意的数据类型问题
- 关于MySQL的TinyInt数据类型在Delphi中作为Boolean类型的一个要注意的问题
- 新建Model涉及基本数据类型必须注意的问题——将基本数据类型转为NSNumber类型
- 关于MySQL数据类型的一些注意问题
- Java向MySQL数据库插入时间类型Date数据时需要注意的问题
- Java向MySQL数据库插入时间类型Date数据时需要注意的问题(二)
- 值得注意的OpenCV数据类型问题
- acm应该注意的数据类型问题
- C语言中数据类型间的转换问题和注意事项
- MySQL登陆方式、数据类型、数据引擎及SQL查询语句,注意的问题.
- C51程序unsigned和signed类型数据判断时候需要注意的问题
- 初学Java,粗浅看待数据类型与运算符中需要注意的问题
- Mybatis特别注意int类型的数据判断
- JavaScript数据类型的一些注意点(4)