Comment convertir String
à CharSequence
en Java?
java
string
charsequence
Daksh Gargas
la source
la source
Exception groovy.lang.MissingMethodException: No signature of method: static java.util.regex.Pattern.matcher() is applicable for argument types: (java.lang.String)
Réponses:
Depuis
String
IS-ACharSequence
, vous pouvez passer unString
partout où vous en avez besoinCharSequence
, ou affecter unString
à unCharSequence
:Si vous voulez convertir un
CharSequence
en unString
, utilisez simplement latoString
méthode qui doit être implémentée par chaque implémentation concrète deCharSequence
.J'espère que ça aide.
la source
CharSequence
à unString
sans cast explicite.String
à unCharSequence
.CharSequence
. Il affecte simplement une instance deString
à uneCharSequence
variable, et depuisString
implémente l'CharSequence
interface, le code fonctionne.Réponse directe:
CharSequence
est une interface et laString
classe implémenteCharSequence
.la source
CharSequence est une interface et String est l'une des implémentations autres que StringBuilder, StringBuffer et bien d'autres.
Donc, tout comme vous utilisez
InterfaceName i = new ItsImplementation()
, vous pouvez utiliserCharSequence cs = new String("string")
ou simplementCharSequence cs = "string";
la source
Vous pouvez utiliser
la source
Tenter de fournir un contexte (possible) à la question de OP en signalant mes propres problèmes. Je travaille dans Scala, mais les messages d'erreur reçoivent tous les types Java de référence, et le message d'erreur ressemble beaucoup au compilateur se plaignant que CharSequence n'est pas une chaîne. J'ai confirmé dans le code source que String implémente l'interface CharSequence, mais le message d'erreur attire l'attention sur la différence entre String et CharSequence tout en cachant la véritable source du problème:
J'ai pu résoudre ce problème en réalisant que le problème n'était pas String / CharSequence, mais plutôt un décalage entre java.lang.Iterable et Iterable intégré de Scala.
Mon problème particulier peut également être résolu via les réponses de Scala: rejoignez un itérable de chaînes
En résumé, OP et ceux qui rencontrent des problèmes similaires devraient analyser les messages d'erreur de très près et voir quels autres types de conversions pourraient être impliqués.
la source