что возвращает return this?

101
23 января 2022, 15:10
public static class Builder {
    public Builder() {
        this.headers = new TreeMap(String.CASE_INSENSITIVE_ORDER);
        this.parameters = new TreeMap();
        this.serverPort = 80;
    }
    public DefaultSavedRequest.Builder setCookies(List<SavedCookie> cookies) {
        this.cookies = cookies;
        return this;
    }
Answer 1

Возвращается ссылка на себя. Этот "шаблон" позволяет писать такой код:

Builder builder = new Builder().setCookies(...).setShmookies(...).setSomethingElse(...);
Answer 2

Возвращается ссылка на текущий экземпляр объекта.

Это такой шаблон - Fluent Interface.

Приведу цитату:

Текучий интерфейс хорош тем, что упрощается множественный вызов методов одного объекта. Обычно это реализуется использованием цепочки методов, передающих контекст вызова следующему звену

Такой стиль косвенно полезен повышением наглядности и интуитивности кода. Однако может весьма пагубно сказаться на отладке, если цепочка действует как одно выражение, куда отладчик не всегда может установить промежуточную точку останова.

——

Вот что пишет про это господин Фаулер

READ ALSO
Помогите с запросом пожалуйста, поиск по первым символам в строке

Помогите с запросом пожалуйста, поиск по первым символам в строке

Суть проблемы есть столбец в базе в нем записаны строки 0004 68 0C 33 03 C2 50 A3 E9 мне необходимо искать по первым символам 0004Есть такой запрос

122
Вызов методов MainActivity из других классов

Вызов методов MainActivity из других классов

Есть MainActivity, в нём есть 2 методаПервый сохраняет строку:

136
Как разметить данный блок?

Как разметить данный блок?

Как разметить блок, чтобы выстроить элементы в линию?

136