java中用equals比较两个内容相同的字符数组

********************************************
你在数组上调用函数equals,比较的是c和ch的地址
改成
if(Arrays.equals(ch,c));
就可以比较c和ch的内容了
********************************************

java.sun.com上说,
The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).
It doesn‘t perform an intelligent comparison for most classes unless the class overrides it. It has been defined in a meaningful way for most Java core classes. If it‘s not defined for a (user) class, it behaves the same as ==.

"If it‘s not defined for a (user) class, it behaves the same as =="由于你没有重写equals方法,所以它比较的是数组的地址,相当于是==。

另外,有问题可以去sun.java.com上找每个class的说明,也可以装个Netbeans java版(开源的),Netbeans 直接提供每个方法的说明
望采纳

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。