与字符串缓冲区相同的.contains是什么

时间:2017-04-16 23:59:41

标签: java

使用StringBuffer时使用.contains的等效方法是什么?

例如,使用String,您可以编写

String word = "word";

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

但是,如果将单词更改为StringBuffer,则会出现如下错误:"该类型的方法包含(String)未定义 的StringBuffer"

我如何能够使用word作为StringBuffer来编码同一行?

1 个答案:

答案 0 :(得分:4)

contains(String str)方法可以通过检查indexOf(String str)是否返回一个值来轻松完成,该值指示子字符串位于调用它的字符串中。如果返回的索引是-1,那么子字符串不在搜索的字符串中,但它是另外的。 StringBuffer没有contains方法,但它有一个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
}