Come convertire String
in CharSequence
in Java?Come convertire una stringa in CharSequence?
risposta
Dal String
IS-ACharSequence
, è possibile passare un String
ovunque è necessario un CharSequence
, o assegnare un String
ad un CharSequence
:
CharSequence cs = "string";
String s = cs.toString();
foo(s); // prints "string"
public void foo(CharSequence cs) {
System.out.println(cs);
}
Se si desidera convertire un CharSequence
ad un String
, utilizzare semplicemente il metodo toString
che deve essere implementato da ogni implementazione concreta di CharSequence
.
Spero che aiuti.
Tranne che non è possibile assegnare un' CharSequence' a un 'String' senza un cast esplicito. – gustafc
risolto l'esempio, grazie. Intendevo il contrario, cioè, assegnare un 'String' a un' CharSequence'. –
Sono confuso da questo codice "CharSequence cs =" stringa ";". Come possiamo creare un'istanza di CharSequence? Non è un'interfaccia? (Scusa, sto ancora imparando Java). – Mugen
risposta diretta:
String s = "Hello World!";
// String => CharSequence conversion:
CharSequence cs = s; // String is already a CharSequence
CharSequence
è un'interfaccia, e la classe String
implementa CharSequence
.
È possibile utilizzare
CharSequence[] cs = String[] {"String to CharSequence"};
Benvenuti in Stack Overflow Lucas. Si prega di fornire più spiegazioni di un frammento di codice. Potrebbe essere ovvio per noi, ma aiutare gli altri a fargli sapere perché questo codice risponde alla domanda. –
Il wrapping di una stringa in una matrice non aiuta a stabilire un punto in cui String è un oggetto CharSequence (e quindi la matrice di CharSequence è una matrice di String). – tishma
CharSequence [] cs = new CharSequence [] {"String to CharSequence"}; –
CharSequence è un'interfaccia e stringa è la sua una delle implementazioni diverse StringBuilder, StringBuffer e molti altri.
Così, proprio come si usa InterfaceName i = new ItsImplementation()
, è possibile utilizzare CharSequence cs = new String("string")
o semplicemente CharSequence cs = "string";
La questione è sorta di non sensical. Convertire una stringa in un oggetto CharSequence è come convertire un flauto in uno strumento musicale. Una stringa è già un oggetto CharSequence. La classe String implementa l'interfaccia CharSequence. –
La confusione dell'OP potrebbe derivare dal non sapere cosa significhi [programma su un'interfaccia] (http://stackoverflow.com/questions/383947/what-doesit-mean-to-program-to-an-interface) – Raedwald
@JeffScottBrown la domanda ha davvero senso, è una meraviglia legittima per chiunque stia leggendo attraverso il documento Android o Java e manca il dettaglio che CharSequence non è una classe. Il tuo commento mi ha aiutato, ma se la domanda non fosse stata formulata nel modo in cui è, non l'avrei trovata e avrei trascorso più tempo a cercare una risposta di quanto valesse veramente;) – Kheldar