2017-04-16 78 views
1

什么是使用.contains时使用StringBuffer的等效方法?与字符串缓冲区的.contains相当于什么

例如,一个字符串,你可以写

String word = "word"; 

if(word.contains("w") { 
//Does something 
} 

,但如果更改字到StringBuffer,你得到一条错误:“该方法包含(字符串)是未定义的类型 的StringBuffer “

我该如何编码相同的行,但将单词作为StringBuffer进行编码?

+3

'如果(word.indexOf( “W”)> = 0)' – 4castle

+0

使用'StringBuilder' ,而不是'StringBuffer'。这是现代化的替代品。 –

回答

4

contains(String str)方法可以通过检查indexOf(String str)是否返回一个值来指示子字符串在它所调用的字符串中。如果返回的索引是-1,那么子字符串不在搜索的字符串内,但是它是其他方式。 StringBuffer没有包含方法,但它有一个indexOf方法。因此,如果串代码为:

String str = "word"; 
if (str.contains("w")){ 
    //Handle it here 
} 

那么相应的StringBuffer代码将是:

StringBuffer strBuffer = new StringBuffer("word"); 
if (strBuffer.indexOf("w") != -1){ 
    //Handle it here 
}