Jak przekonwertować String
na CharSequence
w Javie?
java
string
charsequence
Daksh Gargas
źródło
źródło
Exception groovy.lang.MissingMethodException: No signature of method: static java.util.regex.Pattern.matcher() is applicable for argument types: (java.lang.String)
Odpowiedzi:
Od
String
IS-ACharSequence
możesz przekazaćString
gdziekolwiek potrzebujeszCharSequence
lub przypisać aString
doCharSequence
:Jeśli chcesz przekonwertować
CharSequence
na aString
, po prostu użyjtoString
metody, która musi być zaimplementowana przy każdej konkretnej implementacjiCharSequence
.Mam nadzieję, że to pomoże.
źródło
CharSequence
do aString
bez jawnej obsady.String
doCharSequence
.CharSequence
. To po prostu przypisuje wystąpienieString
doCharSequence
zmiennej, a ponieważString
implementujeCharSequence
interfejs, działa kod.Prosta odpowiedź:
CharSequence
jest interfejsem, aString
klasa implementujeCharSequence
.źródło
CharSequence to interfejs, a String jest jedną z implementacji innych niż StringBuilder, StringBuffer i wiele innych.
Tak, jak używasz
InterfaceName i = new ItsImplementation()
, możesz używaćCharSequence cs = new String("string")
lub po prostuCharSequence cs = "string";
źródło
Możesz użyć
źródło
Próba zapewnienia pewnego (możliwego) kontekstu dla pytania OP poprzez opublikowanie własnych problemów. Pracuję w Scali, ale komunikaty o błędach otrzymuję wszystkie referencyjne typy Java, a komunikat o błędzie brzmi podobnie jak kompilator narzekający, że CharSequence nie jest ciągiem . Potwierdziłem w kodzie źródłowym, że String implementuje interfejs CharSequence, ale komunikat o błędzie zwraca uwagę na różnicę między String a CharSequence, ukrywając prawdziwe źródło problemu:
Byłem w stanie rozwiązać ten problem, wiedząc, że nie chodzi o String / CharSequence, ale raczej o niezgodność między java.lang.Iterable i wbudowaną Iterable Scali.
Mój szczególny problem można również rozwiązać za pomocą odpowiedzi w Scali: dołącz do iterowalnego ciągu znaków
Podsumowując, OP i inni, którzy napotykają podobne problemy, powinni bardzo dokładnie przeanalizować komunikaty o błędach i zobaczyć, jakie konwersje innego typu mogą być związane.
źródło