数组的 == 与 equals()使用现象及其解释

基本数据类型的数组的 == 使用特点

 public static void main(String[] args) {
     int [] kk = {1,128};
     //int [] kk = new int[]{1,127};
     int [] cc = {1,128};
    //int [] cc = new int[]{1,127};
    System.out.println(kk == cc);
    System.out.println(kk[0] == cc[0]);
    System.out.println(kk[1] == cc[1]);
}
 System.out.println(kk == cc)输出false原因:俩个数组对象的引用不同  
 System.out.println(kk[0] == cc[0])输出true
 System.out.println(kk[1] == cc[1])输出true
     true的原因:取出的是俩个基本数据类型,所以比较的是俩个基本数据类型变变量的值是否相同

包装类数组的 == 使用特点

public static void main(String[] args) {
   Integer [] kk = {1,128,100+28,9};
   //Integer [] kk = new Integer[]{1,128,100+28,9};
    Integer [] cc = {1,128,128,3+6};
    //Integer [] cc = new Integer[]{1,128,128,3+6};
    System.out.println(kk == cc);
    System.out.println(kk[0] == cc[0]);
    System.out.println(kk[1] == cc[1]);
    System.out.println(kk[2] == cc[2]);
    System.out.println(kk[3] == cc[3]);
}

System.out.println(kk == cc)输出false原因:俩个数组对象的引用不同  

System.out.println(kk[0] == cc[0]);输出true的原因:查看:
http://note.youdao.com/noteshare?id=a8be3dbfffd785e52443bb892b8a78f7
&sub=A3556D4FD91D4A59B9E4C188FBF9B201 中的:包装类的静态创建对象的值被存在哪里

System.out.println(kk[1] == cc[1])输出false的
 System.out.println(kk[2] == cc[2])输出false的
 原因:查看: 
http://note.youdao.com /noteshare?id=a8be3dbfffd785e52443bb892b8a78f7
&sub=A3556D4FD91D4A59B9E4C188FBF9B201 中的:包装类的静态创建对象的值被存在哪里

System.out.println(kk[3] == cc[3]);输出true的原因:查看: 
http://note.youdao.com /noteshare?id=a8be3dbfffd785e52443bb892b8a78f7
&sub=A3556D4FD91D4A59B9E4C188FBF9B201 中的:包装类的静态创建对象的值被存在哪里

String数组 == 使用特点

public static void main(String[] args) {
    String [] kk = {"1","128","128"};
    //String [] kk = new Stirng[]{"1","128","128"};
    String B = new String("28");
    String [] cc = {"1","1"+B,"1"+"28"};
     //String [] cc = new Stirng[]{"1","1"+B,"1"+"28"};
    System.out.println(kk == cc);
    System.out.println(kk[0] == cc[0]);
    System.out.println(kk[1] == cc[1]);
    System.out.println(kk[2] == cc[2]);
}
System.out.println(kk == cc)输出false原因:俩个数组对象的引用不同  

System.out.println(kk[0] == cc[0]);输出true的原因:查看:
http://note.youdao.com/noteshare?id=9446a9685e9c288b87d6d51
f7d81c7bd&sub=127CA62103CC4604BD68B7F494CCFD12中的:
String 字符串拼接与运行时常量池 以及堆的关系

System.out.println(kk[1] == cc[1])输出false的原因:查看:
http://note.youdao.com/noteshare?id=9446a9685e9c288b87d6d51
f7d81c7bd&sub=127CA62103CC4604BD68B7F494CCFD12中的:
String 字符串拼接与运行时常量池 以及堆的关系

System.out.println(kk[2] == cc[2])输出true的原因:查看:
http://note.youdao.com/noteshare?id=9446a9685e9c288b87d6d51
f7d81c7bd&sub=127CA62103CC4604BD68B7F494CCFD12中的:
String 字符串拼接与运行时常量池 以及堆的关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值