str.toCharArray();

String str="hello";

char c[]={'h','e','l','l','o'};

char ch[]=str.toCharArray();

if(ch.equals(c))

System.out.println("true");

else

因为数组是对象,数组没有重写equals方法,默认还是比较的内存地址,你是两个不同的数组,地址当然不一样了!

 

你可以用java.util.Arrays.equals(ch,c);进行比较

c和ch是不同的对象数组,虽然数组里面的值是一样的,但是他们的存储地址并不一样。按你的程序来,运行结果是false是正确的。

数组是对象不是基本变量,不可以这样比较的。

因为存储地址不一样。

 

数组以/0结尾。。。。。

你可能感兴趣的:(c,String,equals,存储)