String类中的equals()方法

String类中的equals()方法


public boolean equals(Object anObject)

{

//如果是同一个对象

if (this == anObject)

{

return true;

}

//如果传递进来的参数是String类的实例

if (anObject instanceof String)

{

String anotherString = (String)anObject;

int n = count;//字符串长度

if (n == anotherString.count) //如果长度相等就进行比较

{

char v1[] = value;//取每一个位置的字符

char v2[] = anotherString.value;

int i = offset;

int j = anotherString.offset;

while (n-- != 0) //对于每一位置逐一比较

{

if (v1[i++] != v2[j++])

return false;

}

return true;

  }

}

return false;

}

     对于object类的equals()方法,判断调用该方法的对象与要比较的对象是不是同一个对象(判断地址),而String类中的equals()方法,则判断当前字符串与传递进来的字符串的内容是否一致

object类中的equals()方法:

public boolean equals(Object obj)

{

//调用equal的对象的地址和参数对象的地址是否相等

return (this == obj);

}

        另外,对于java中的其他类,如果没有重写object类中的equals()方法,我们就可以认为调用该类的equals()方法就是判断这两个类是不是同一个类。只要是使用new类名(),这种形式生成的类(除单例外),我们都可以认为是不同的类(地址不同)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值