Выбор между 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(" -->");
}
}