1.注意事项
java有两种数据类型:
一种是基本数据类型(byte、short、int、long、char、double、float、boolean),
一种是引用数据类型(对象、数组、八大基本类型的包装类)
2.比较结果
基本数据类型:
【==比较】:用 == 比较的是值,左右相等即相等
【equals比较】:不能用equals方法比较
基本类型的包装类:
【==比较】:会自动拆箱成基本数据类型进行比较,注意(-128 ~ +127 之间的包装类内存地址相同,因为是从常量池拿的,其余是在堆上创建了一个新的对象)
【equals比较】:先判断类型,再判断值,二者都成立时结果为true
String字符串类型:
【==比较】:比较的是两个对象的内存地址值是否相同
注意1:String str=”hello” 这种方式是是在方法区的常量池中创建一个”hello”字面值 ,然后之后由这种创建方式的变量都由栈中指向这个地址,这样创建的用 == 比较结果为true;
注意2:String str2=new String(“hello”);这种创建方式的过程具体是在堆中创建一个新的对象,这样创建的用 == 比较结果为false;
【equals比较】:先判断类型,再判断值,二者都成立时结果为true