使用StringBuffer时使用.contains的等效方法是什么?
例如,使用String,您可以编写
String word = "word";
if(word.contains("w") {
//Does something
}
但是,如果将单词更改为StringBuffer,则会出现如下错误:"该类型的方法包含(String)未定义 的StringBuffer"
我如何能够使用word作为StringBuffer来编码同一行?
答案 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
}