最近使用java做作业,使用char数组去读取字符转化成字符串,然后与另一值相同的字符串使用equals比较,输出发现值一样,但是equals的比较结果却为false。
最后通过debug发现String对象的内部也是一个char数组,通过char数组创建String时,如果不指定start和count,会将使用整个数组,即连同后面的空字符,输出结果不会受到影响。另外,String.trim()就是删除String 的char数组 前后的空白字符和空字符,使用trim()后再比较就得到值完全一样的String了。
我之前的学习中,一直使用输出语句来找错误,经常要在很多地方写输出语句,非常累。所以无论程序是简单还是复杂,出错时利用debug去调试差错都是非常有用而且效率的,有时还会有新收获!
附上测试例子:
debug可以查看对象和变量的内部结构