问题描述
- 关于string中的equals()求教
-
str.equals(str2)
string重写的equals()函数中 有这样一段:
private final char value[];value是一个定义好的char数组,int n = value.length;//这句话是str的长度,是调用这个方法时自动将str赋值给value吗?
if (n == anotherString.value.length) {//anotherString.value 这是怎么实现的啊?字符串.char数组就转为char数组了?
char v1[] = value;
char v2[] = anotherString.value;望各位指导~
解决方案
private final char value[];value是一个定义好的char数组,
int n = value.length;//不是,在对string赋值的时候调用构造函数,都会有对应的对value的赋值
if (n == anotherString.value.length) {//anotherString.value的生成同value的赋值 这你看源码的构造函数就能理解了
char v1[] = value;
char v2[] = anotherString.value;
解决方案二:
anotherString是什么类型?看它的定义
解决方案三:
嗯,这是私有字段,所以内部可以调用
时间: 2024-09-13 11:09:19