Respostas:
Invocando seu toString()método.
Retorna uma sequência que contém os caracteres nesta sequência na mesma ordem que esta sequência. O comprimento da string será o comprimento dessa sequência.
Há uma questão sutil aqui que é um pouco difícil.
O toString()método possui uma implementação básica em Object. CharSequenceé uma interface; e embora o toString()método apareça como parte dessa interface, não há nada em tempo de compilação que forçará você a substituí-lo e respeitar as restrições adicionais que o CharSequence toString()javadoc do método impõe ao toString()método; ou seja, ele deve retornar uma sequência contendo os caracteres na ordem retornada por charAt().
Seu IDE nem ajudará você, lembrando que você provavelmente deve substituir toString(). Por exemplo, em intellij, é isso que você verá se criar uma nova CharSequenceimplementação: http://puu.sh/2w1RJ . Observe a ausência de toString().
Se você confiar em toString()um arbitrário CharSequence, ele deverá funcionar, desde que o CharSequenceimplementador tenha feito seu trabalho corretamente. Mas se você quiser evitar qualquer incerteza por completo, você deve usar um StringBuildere append(), assim:
final StringBuilder sb = new StringBuilder(charSequence.length());
sb.append(charSequence);
return sb.toString();
CharSequenceinterface define explicitamente toString()- o implementador não terá perdido isso. O javadoc declara "Retorna uma string contendo os caracteres nesta sequência na mesma ordem que esta sequência. O comprimento da string será o comprimento dessa sequência" desde o início em 1.4 . As pessoas, por favor, verifique o que você upvote
StringBuilderpode falhar em fazer o que você espera. O mesmo vale para qualquer outra interface, como Listou Set, em particular seus métodos equals()e hashCode()que serão compilados sem substituições, mas devem ser substituídos de acordo com o contrato.
Você pode usar diretamente String.valueOf ()
String.valueOf(charSequence)
Embora seja o mesmo toString()que faz uma verificação nula charSequenceantes de realmente chamar toString.
Isso é útil quando um método pode retornar um charSequenceou nullvalor.
charSequencefor nulo, a sequência retornada será "null"e não null.
setText(CharSequence)não faz o que você precisa?