Wie konvertiert man String
auf CharSequence
in Java?
java
string
charsequence
Daksh Gargas
quelle
quelle
Exception groovy.lang.MissingMethodException: No signature of method: static java.util.regex.Pattern.matcher() is applicable for argument types: (java.lang.String)
Antworten:
Da
String
IS-ACharSequence
können Sie einen Pass ,String
wo Sie ein benötigenCharSequence
, oder zuordnenString
zu aCharSequence
:Wenn Sie einen konvertieren
CharSequence
zu einString
, sondern nur die VerwendungtoString
Methode , die von jeder konkreten Umsetzung umgesetzt werden mußCharSequence
.Ich hoffe es hilft.
quelle
CharSequence
aString
ohne explizite Besetzung nicht einem zuweisen können .String
einem a zuweisenCharSequence
.CharSequence
. Es weist einer Variablen einfach eine Instanz vonString
zuCharSequence
, und daString
dieCharSequence
Schnittstelle implementiert wird, funktioniert der Code.Klare Antwort:
CharSequence
ist eine Schnittstelle, und dieString
Klasse implementiertCharSequence
.quelle
CharSequence ist eine Schnittstelle und String ist eine der anderen Implementierungen als StringBuilder, StringBuffer und viele andere.
So, wie Sie verwenden
InterfaceName i = new ItsImplementation()
, können Sie verwendenCharSequence cs = new String("string")
oder einfachCharSequence cs = "string";
quelle
Sie können verwenden
quelle
Der Versuch, einen (möglichen) Kontext für die Frage von OP bereitzustellen, indem ich meine eigenen Probleme poste. Ich arbeite in Scala, aber die Fehlermeldungen erhalten alle Referenz-Java-Typen, und die Fehlermeldung liest sich ähnlich wie der Compiler, der sich darüber beschwert, dass CharSequence kein String ist. Ich habe im Quellcode bestätigt, dass String die CharSequence-Schnittstelle implementiert, aber die Fehlermeldung macht auf den Unterschied zwischen String und CharSequence aufmerksam, während die eigentliche Ursache des Problems ausgeblendet wird:
Ich konnte dieses Problem mit der Erkenntnis beheben, dass das Problem nicht String / CharSequence war, sondern eine Nichtübereinstimmung zwischen java.lang.Iterable und Scalas integriertem Iterable.
Mein spezielles Problem kann auch über die Antworten bei Scala gelöst werden : Verbinden Sie eine Iterable von Zeichenfolgen
Zusammenfassend sollte OP und andere, die auf ähnliche Probleme stoßen, die Fehlermeldungen sehr genau analysieren und sehen, welche anderen Typkonvertierungen beteiligt sein könnten.
quelle