В ОС Android или Java, в чем разница между последовательностью символов и строкой? - PullRequest
3 голосов
/ 30 мая 2010

Для функций API (Android SDK API версии 8), в определениях которых перечислены параметры последовательности символов, вместо этого я могу использовать функцию String. Самое приятное, что они работают одинаково, без хлопот, без предупреждений.

Есть ли разница между этими двумя типами? И что еще более важно, есть ли опасность, если я отправлю функцию String вместо последовательности символов ???

Спасибо за любые разъяснения !!! : D

1 Ответ

7 голосов
/ 30 мая 2010

Есть ли разница между этими двумя типами?

Да.String - это класс, а CharSequence - это интерфейс. Если метод принимает CharSequence, ему требуется только аргумент для реализации методов в интерфейсе, что дает большую гибкость, чем если бы он былпринимает только String.

Следующие классы API реализуют CharSequence: CharBuffer, Segment, String, StringBuffer, StringBuilder.Таким образом, String является CharSequence и, таким образом, может быть передан методу, который принимает CharSequence.

И что более важно, есть лиПрисущая опасность, если я отправлю функции строку вместо последовательности символов ???

Нет , опасности нет.String правильно реализует CharSequence, и это все, что требуется для правильной работы метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...