2017-04-16 1 views
1

Was ist eine äquivalente Verwendung von .contains bei Verwendung eines StringBuffer?Was entspricht .contains für Zeichenfolgenpuffer

Zum Beispiel mit einem String könnte man

String word = "word"; 

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

schreiben Aber wenn Sie Wort in einen String ändern, erhalten Sie einen Fehler, der lautet: „Die Methode enthält (String) ist nicht definiert für den Typ String "

Wie könnte ich die gleiche Zeile aber mit Word als StringBuffer codieren?

+3

'if (word.indexOf ("w")> = 0)' – 4castle

+0

Verwenden 'StringBuilder' , nicht 'StringBuffer'. Es ist der moderne Ersatz. –

Antwort

4

Die Methode contains(String str) kann einfach durchgeführt werden, indem überprüft wird, ob indexOf(String str) einen Wert zurückgibt, der angibt, dass sich die Teilzeichenfolge in der Zeichenfolge befindet, an der sie aufgerufen wird. Wenn der zurückgegebene Index -1 ist, dann ist der Teilstring nicht innerhalb des gesuchten Strings, aber es ist ein anderer Weg. StringBuffer hat keine contains-Methode, aber es hat eine indexOf-Methode. Also, wenn der String-Code ist:

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

dann würde der entsprechende String Code sein:

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