Выбор между CharSequence и String для API [дубликат]

На этот вопрос уже есть ответ здесь:

Когда использовать CharSequence в API 5 ответов

A String это CharSequence, Многие методы в библиотеке Java принимаютCharSequence такони работают более широко, Некоторые классы имеютString метод (например,Writer.write(String)), а также реализоватьAppendable с эквивалентнымCharSequence метод (например,Writer.append(CharSequence)).

Если я пишу класс, который делегирует такой класс и нуждается в некотором вводе текста, я могу выбрать, чтобы этот ввод былString илиCharSequence, Выбор последнего делает класс более гибким, предоставляя клиенту больше возможностей. Но я не вижу много кода, который делает это: текстовые аргументы почти всегдаString а неCharSequence, Есть ли обратная сторона в использованииCharSequence? Есть ли хит производительности? Или это всего лишь программная интерция или невежество, которое вызывает использованиеString скорее, чемCharSequence?

сравнить

class XMLWriter {
   private final Writer writer;

   // more stuff here

   public void writeComment(String text) {
      writer.write("<!-- ");
      writer.write(text);
      writer.write(" -->");
   }
}

с участием

class XMLWriter {
   private final Writer writer;

   // more stuff here

   public void writeComment(CharSequence text) {
      writer.write("<!-- ");
      writer.append(text);
      writer.write(" -->");
   }
}

Ответы на вопрос(1)

Ваш ответ на вопрос