java中String类中的contentEquals(StringBuffer sb)与contentEquals(Charsequence c)的区别

2024-11-23 03:08:09
推荐回答(5个)
回答1:

很明显方法重载,参数不同而已
Charsequence 是接口,实现此接口的类有CharBuffer, Segment, String, StringBuffer, StringBuilder
其中StringBuffer也是一种而已,根据面向对象三大特征之一多态,子类对象完全可以替代父类。
我们知道String是final的,因此通常在方法中操作字符串频繁时用StringBuffer,因为用String每次都会产生一个新的对象,而不是操作同一个对象,通常IO操作都是用StringBuffer或者StringBuilder,这里我就不说他俩区别了,你研究下线程就知道了。StringBuilder是后来才有的类.
从StringBuffer如此频繁的使用率上就单独列出来一个方法参数。

回答2:

第一个是方法的参数必须实现了StringBuffer接口,第二个方法的参数必须实现Charsequence 接口

回答3:

这个方法我没用过,这两个方法只是参数类型不同而已。使用中,你传的什么类型参数,就调用等类型参数的饭方法.....

回答4:

首先比较的对象就不同,一个是StringBuffer类,一个是Charsequence接口,不过StringBuffer类也实现了Charsequence接口

回答5:

一个是比较StringBuffer对象的内容,一个比较Charsequence对象的内容