169 похожих чатов

Public static HttpRequest.BodyPublisher ofFormData(

Map<Object, Object> data
) {
var first = true;
var builder = new StringBuilder();
for (Map.Entry<Object, Object> entry :
data.entrySet()) {
if (first) first = false;
else builder.append("&");
builder.append("=");
builder.append(URLEncoder.encode(
entry.getKey().toString(),
StandardCharsets.UTF_8
));
}
return HttpRequest.BodyPublishers.ofString(
builder.toString()
);
}

не пойму а в чем смысл if (first) first = false; и по сути непонятно если ферст что?

29 ответов

90 просмотров

Что произойдет по коду, если будет не first?

боже, так форму собирать... смысл - первый элемент коллекции обработать по другому

Eminem- Автор вопроса
Eminem
не пойму вообще)

Ты по коду мне скажи. Ты же знаешь, что иф делает и все такое. Вот и отвечай)

Eminem
это else builder.append("&");

Ну вот. Получается, когда false=true, этого не случится

а как по -твоему иф работает? и что у него в скобочках пишут?

Eminem
это else builder.append("&");

А теперь скажи мне, ты url с параметрами видел хоть раз? Просмотрись)

Eminem
не пойму вообще)

сокращение ферст=труе

Bitarded
сокращение ферст=труе

почему сокращение, если условие - это boolean

Eminem- Автор вопроса

Помогите кто нибудь так я и не разобрался

Eminem
Помогите кто нибудь так я и не разобрался

ну если по коду непонятно, то запусти дебаггер и по шагам пройди метод и посмотри что и как меняется

Так ещё else есть

Eminem- Автор вопроса
Алексей
Откуда код?

хорстман 2 том

Eminem
Помогите кто нибудь так я и не разобрался

Тебе не понятно что конкретно? 1)Синтаксис if(first) 2) зачем нужна такая конструкция в цикле? 3) зачем нужно так строить урл?

Eminem- Автор вопроса
0xDEADFACE
Тебе не понятно что конкретно? 1)Синтаксис if(firs...

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

Eminem
зачем тут нужен if непойму как он тут работает. в...

Совет подебажить вроде выше был. Думаю он самый актуальный

Eminem
зачем тут нужен if непойму как он тут работает. в...

Ок, погнали. Строка запроса(ссылка которую я тебе кидал) передается в таком виде Протокол://хост:порт/ресурс?параметр1=значение&параметр2=значение2&параметр3=значение3... Обрати внимание на часть с параметрами(которая после вопроса) Если ты захочешь построить такую строку то можно параметры со значениями засунуть в мапу и потом их сджойнить поставив между ними амперсанд. Сделать это можно, например, пройдясь по всем элементам мапы в цикле и дописать в строку "&"+entry.key+"="+entry.value Но вот для первого элемента этот амперсанд мешает, поэтому автор завел переменную first и присвоил ей значение true, чтобы для первого элемента не добавлять амперсанд в стринг билдер, а просто переключить его значение в фолс, чтобы на последующих проходах амперсанд добавлялся в начало. В джаве у ифа в условии(скобочках) можно написать любое выражение с типом boolean, что позволяет сократить if(first==true) до if(first)(про это тебе тоже писали)

Eminem
зачем тут нужен if непойму как он тут работает. в...

Ты что, рыбка? Все, к чему мы вчера пришли уже забыл?

Eminem
зачем тут нужен if непойму как он тут работает. в...

Ну простым языком если мы добавляем первую пару ключ-значение, нам не нужно ставить перед ней "&". Но для всех последующих пар нам нужно добавлять этот символ перед ними.

Eminem- Автор вопроса
0xDEADFACE
Ок, погнали. Строка запроса(ссылка которую я тебе...

ох блин спасибо большое)) вообще не мог понять)

Eminem- Автор вопроса
Дэни
Ты что, рыбка? Все, к чему мы вчера пришли уже заб...

да я смотрел смотрел все равно непонял)

Eminem
ох блин спасибо большое)) вообще не мог понять)

Решай задачи из учебника, это правда помогает

Eminem
да я смотрел смотрел все равно непонял)

Что значит "не понял"? Там простой иф и флаг, который можно переключать. Что конкретно не понял?

Eminem- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта