2015-09-09 6 views
-2
String s = txtShow.getText().toString(); 
Button btn = (Button)findViewById(v.getId); 
txtShow.setText(s+btn.getText()); 

Третья строка в приведенном выше коде. Я обнаружил, что два разных типа данных добавляются вместе, то есть String + CharSequence.I запускает мою программу, нет ошибки. Почему?Почему String + CharSequence успешна?

Я думаю, что третья линия должна быть

txtShow.setText(s+btn.getText().toString()); 

нет? В чем разница?

+6

btn.getText() return CharSequence, а не редактируемый – Euporie

ответ

0

Прежде всего, как сказано @Euporie btn.getText() возвращение CharSequence

И для информации Editable и String оба орудий CharSequence

2

Как комментарий @Euporie печального типа возвращения getText является CharSequence

Конкатенация с оператором plus преобразуется к использованию StringBuilder. StringBuilder s append метод принимает параметр CharSequence, поэтому нет ошибки .

Editable реализует интерфейс CharSequence, и он тоже будет работать.

Смежные вопросы