Java для начинающих. Урок 23: StringBuilder

  Рет қаралды 136,461

alishev

alishev

8 жыл бұрын

МОЙ НОВЫЙ КУРС: • Мой курс "Продвинутая ...
ПРАКТИКА НА JAVA: java-marathon.tilda.ws
Реклама и сотрудничество: alishev.neil@gmail.com

Пікірлер: 151
@alishevN
@alishevN 6 жыл бұрын
Регистрируйтесь на курс "Продвинутая Java": kzfaq.info/get/bejne/qLiVZNmFlbmodGw.html Практикуйтесь в написании Java кода: java-marathon.tilda.ws
@solitarywanderer8571
@solitarywanderer8571 2 жыл бұрын
StringBuilder sb = new StringBuilder("Hello"); не сработало, но методом тыка получилось с такой записью java.lang.StringBuilder sb = new java.lang.StringBuilder("Hello"); Не знаю, насколько это корректно?!
@user-so3sw3je2k
@user-so3sw3je2k Ай бұрын
даже спустя 8 лет видео приятнее всех новых
@user-zl9ru6yv8i
@user-zl9ru6yv8i 8 жыл бұрын
Спасибо за еще один отличный урок! Я уверен, что аудитория этого канала должна вырасти.
@alishevN
@alishevN 7 жыл бұрын
Пожалуйста!
@flawlessvictory9176
@flawlessvictory9176 Жыл бұрын
Лучше Ваших уроков на ютубе не найти. Спасибо!
@N0llGravity
@N0llGravity Жыл бұрын
Короткий и понятный урок, в отличии от уроков платных площадок которые еще дольше идут. Спасибо большое, теперь все уложилось в голове)
@yegorivanov3006
@yegorivanov3006 4 жыл бұрын
Благодарю! Шикарные уроки. На практике, конечно, будет веселуха)
@kladmonet9
@kladmonet9 4 жыл бұрын
Всё очень внятно и полезно и интересно! Огромная Благодарность!
@ettti28
@ettti28 5 жыл бұрын
Спасибо man. Классно объясняешь. Обязательно возьму твой курс для "не начинающих"..
@vitaliyk.6371
@vitaliyk.6371 6 жыл бұрын
Спасибо за урок!Все работает,все понятно!
@dmytrohelbak
@dmytrohelbak 5 жыл бұрын
И снова привет лучший JavaУчитель!)) Прежде чем приступить к просмотру, ставлю лайк и говорю СПАСИБО!!! ...ну а теперь, приступим к уроку.
@homofaber1002
@homofaber1002 Жыл бұрын
Спасибо за курс, все уроки посмотрел с большим интересом.
@tuRistst
@tuRistst 7 жыл бұрын
спасибо братан, все очень ясно и понятно, желаю удачи :)
@user-pu8yy8fu9q
@user-pu8yy8fu9q 8 жыл бұрын
Спасибо! Отличный урок!
@siberian_arg
@siberian_arg 2 жыл бұрын
человек 2 января после нового года записывал виде и выкладывал. респект! )
@user-bw5jo9bj4k
@user-bw5jo9bj4k 2 жыл бұрын
Огромное спасибо! Супер урок!
@Anatoli-bq1pe
@Anatoli-bq1pe 2 жыл бұрын
Благодарю! Очень полезная информация
@OneMaxBeatz
@OneMaxBeatz 11 ай бұрын
Все четко и понятно объясняешь Круто Спасибо
@user-ti7wk4qt6s
@user-ti7wk4qt6s 2 жыл бұрын
спасибо за проделанный труд!
@usafamily4804
@usafamily4804 2 жыл бұрын
Спасибо, как всегда все доступно.
@vlad_i_mir
@vlad_i_mir 6 ай бұрын
с Практикума пришел сюда за доп разъяснением)) спасибо за понятные уроки!
@sasunhakobyan7251
@sasunhakobyan7251 4 жыл бұрын
Читал книгу Шилдта, но ты объясняешь гораздо лучше!! Респект тебе!!!
@getteg6468
@getteg6468 4 жыл бұрын
Классная тема этот StringBuilder.
@divergenny
@divergenny 3 жыл бұрын
Спасибо большое за разъяснение
@korumstar9989
@korumstar9989 5 жыл бұрын
Все понятно. Спасибо!
@user-hw2bb5gj6y
@user-hw2bb5gj6y 11 ай бұрын
Спасибо большое, за урок. Очень интересно и познавательно. Единственное, возможно я ошибаюсь. но вызов метода toString() уже не нужен (12:05), так как System.out.println() автоматически его вызывает. Поэтому достаточно написать System.out.println(sb); вместо System.out.println(sb.toString());
@DnGJiJ
@DnGJiJ 5 ай бұрын
Нет, это не так работает. Метод sout(System.out.println()) просто выводит на экран переменную с тем же типом переменной. Вы можете проверить это с помощью метода instanceof, которая проверяет тип данной переменной
@eltrading7356
@eltrading7356 5 жыл бұрын
Отличное видео!
@nailovie4235
@nailovie4235 7 жыл бұрын
Спасибо)Все понятно)
@marirazno6117
@marirazno6117 7 жыл бұрын
обожаю ваши уроки!!! спасибо большое 💜
@alishevN
@alishevN 7 жыл бұрын
Рад стараться :)
@DolphinArtem
@DolphinArtem 2 жыл бұрын
@@alishevN Привет Наиль! Сколько стоит курс?
@wldzam
@wldzam 4 жыл бұрын
Крутой чувак. Купил курс Продвинутая Java. Понравилось.Рекомендую.
@alekseyfrozis937
@alekseyfrozis937 4 жыл бұрын
та же история) ох свезло выйти на этого человека! Сейчас досмотрю (повторно, для закрепления) курс для начинающих и приступлю к продвинутой. Успехов нам)
@NiflheimForever
@NiflheimForever 3 жыл бұрын
@@alekseyfrozis937 Как успехи спустя 10 месяцев?
@MrNilf
@MrNilf 3 жыл бұрын
@@NiflheimForever ага щас тут все понаписали тебе как они видосиков на ютубе насмотрелись и стали тру жава кодерами
@blackteam5273
@blackteam5273 2 жыл бұрын
@@MrNilf ну тогда поделись секретом как стать Java developer?
@MrNilf
@MrNilf 2 жыл бұрын
@@blackteam5273 Как я стал? 8 месяцев по 5 часов в день книги, код, решение задач, ревью кода, ютуб(но заметь я это на последнем месте написал) помимо этого общение в сообществах. Потом еще месяц мок интервью и не только технические. Заработал позвоночную грыжу... 13 собесов -> 8 оферов
@theantferdy
@theantferdy Жыл бұрын
Спасибо за контент! Стоило бы добавить что StringBuilder внутри работает с массивом байтов и поэтому не создают новые строки в string pool
@rustamergashev3648
@rustamergashev3648 8 жыл бұрын
Отлично, спасибо!
@alishevN
@alishevN 7 жыл бұрын
Пожалуйста!
@SvetlanaGarcia
@SvetlanaGarcia 16 күн бұрын
Спасибо ! 👍
@ruslankolesnichenko6014
@ruslankolesnichenko6014 6 жыл бұрын
На 9:53 я не понял, что случилось? Сначала говорилось, что удаляет JVM эти строки, которые до конкотенации были, потом "конечно нет". Так запутывает эта поправка.
@alisaholainen6334
@alisaholainen6334 4 жыл бұрын
Супер!
@user-vv2yg6ux7g
@user-vv2yg6ux7g 2 жыл бұрын
Усе понятно шеф.
@user-ou5bn7sx7i
@user-ou5bn7sx7i 9 ай бұрын
Спасибо за контнт)))))
@C2H5OHH
@C2H5OHH 2 жыл бұрын
Спасибо!
@prometeusll4665
@prometeusll4665 7 жыл бұрын
как подключить несколько проектов в intelij idea? сделай плизз мини урок.
@m-krevolvo7552
@m-krevolvo7552 4 жыл бұрын
Подскажите,пожалуйста,когда я попытался создать String x = new String(); у меня new String был подсвечен серым цветом,а у вас нет.В чем причина?Заранее благодарю!
@user-gr7ft5gt4t
@user-gr7ft5gt4t 2 жыл бұрын
StringBuilder sb = new StringBuilder(); sb.append("улыбок тебе дед мокар"); sb.reverse(); System.out.println(sb.toString()); Хаккерство!)))
@genox1331
@genox1331 Жыл бұрын
ахахахахах
@igoriyification
@igoriyification 5 жыл бұрын
Все охуенно....но делайте техст больше...к Вам УЖЕ приходят слепые
@user-ce3mx2vp2c
@user-ce3mx2vp2c Жыл бұрын
Т.е. переопределённый х на первоначальное значение не ссылается? x.toUpperCase "превращается" в новое значение?
@vitaliyk.6371
@vitaliyk.6371 6 жыл бұрын
У меня получилось,чтотназвание главного класса и метода объекта были одинаковые. Поэтому java не поняла,что я хотел.Я поменял название главного класса на другое и у меня пошло.У меня в этом была проблема.
@ruslankoles7648
@ruslankoles7648 4 жыл бұрын
На 10:55 -10:58 - цитата дословно "т.е. объекты класса String могут изменяться в ходе программы" - оговорка, наверное. Речь об объектах класса StringBuilder? они именно mutable (изменяемые).
@alishevN
@alishevN 4 жыл бұрын
Да, верно
@vitaliyk.6371
@vitaliyk.6371 6 жыл бұрын
Ураааа!Пошло,сам затупил.!!!
@trrt9756
@trrt9756 2 жыл бұрын
Здраствуйте, Наиль хочу купить у вас курс, сколько стоит скажите пожалуйста?
@objectobj
@objectobj 2 жыл бұрын
значит, можно и сложить строку с другой, и вывести её за одну инструкцию вывода на экран: System.out.println(sb.append("yes").toString());
@user-tj7zd7hh9c
@user-tj7zd7hh9c 3 ай бұрын
спасибо за уроки! только жаль, что еле слышно голос
@user-cj2wv7fd6g
@user-cj2wv7fd6g Жыл бұрын
В java 17 ,представление инстанса стрингбилдер ,можно уже выводить без toString ,верно ? Или добавление toString обязательно ?
@kulermartin
@kulermartin Жыл бұрын
без можно
@anastaskonstantinidi3246
@anastaskonstantinidi3246 3 жыл бұрын
Добрый вечер, в первую очередь спасибо большое за то что вы делаете! Курс просто бомбовый)) И вопрос: почему для вывода на экран у sb нужно вызывать метод toString()? Без этого метода тоже все выводит.
@user-ef5ni3ej7t
@user-ef5ni3ej7t 2 жыл бұрын
Версия Java поумнела ;)
@user-gc4nx8tm2u
@user-gc4nx8tm2u Жыл бұрын
подтверждаю, видимо обновления в джаве
@parktronic3000
@parktronic3000 2 жыл бұрын
спасибо за уроки!!! у меня вопрос: почему я не могу применить к объекту sb класса stringbuilder метод toUpperCase ни напрямую через точку, ни присвоением нового значения? спасибо.
@user-gr7ft5gt4t
@user-gr7ft5gt4t 2 жыл бұрын
Ответ кроется в самом вопросе. Метод toUpperCase применим к символам СТРОКИ. Именно по этому он не может применяться к ОБЪЕКТУ коим является stringbuilder. Если проще то: stringbuilder sb это коробка. Внутри этой коробки находится некая строка, которая вызывается методом toString(). И уже к этой строке можно применить toUpperCase. Собственно это уже и есть код: sb.toString().toUpperCase; Можно в два действия: String out = sb.toString(); // Вывод строки объекта sb в переменную строки out. out = out.toUpperCase(); // Применение метода к переменной, содержащей строку
@user-dc9cp1yl3m
@user-dc9cp1yl3m 4 ай бұрын
9:31 То есть, если конкатенируем строки обычным образом, то создаются два новых объекта, так как две операции “+”? Или объект прошлой конкатенации str1+str2 будет удален после того как мы плюсанем +str3 и это удаление будет являться дополнительной операцией, которая была бы нежелательна с точки зрения оптимизации? Или дело не в удалении, а в создании лишнего объекта? Я не совсем понимаю в чем замедление быстродействия происходит по сравнению со СтрингБилдером
@DmitryTyukilin
@DmitryTyukilin 4 ай бұрын
При каждой конкатенации строк под капотом перегруженного оператора + создается объект StringBuilder и используется метод append, т.е мы прилично загружаем память, когда пользуемся объектом StringBuilder явно, мы создаем объект один раз и пользуемся его функционалом без создания новых объектов.
@robertp4603
@robertp4603 7 жыл бұрын
Если написать System.out.println(sb); программа заработает .... почему тогда писать System.out.println(sb.toString());?
@FamilyGames166
@FamilyGames166 7 жыл бұрын
для возврата к стрингу
@Lexoid65
@Lexoid65 7 жыл бұрын
Действительно, в данном случае можно не вызывать метод toString() для объекта класса StringBuilder, так как этот объект при выводе на экран будет иметь вид строки, который нам и нужен. Другое дело, что для других классов приходится переопределять логику этого метода, так как он будет не совсем корректно отображать объекты в виде строки. Скажу больше, мы могли не писать этот метод хотя бы потому, что он и так вызывается неявным образом при вызове метода System.out.println(). То бишь, даже если мы явно не вызываем метод toString(), для какого бы то ни было объекта, он всё равно будет вызван без нашего участия. Следуя этой логике, можно прийти к выводу, что даже при написании System.out.println(sb); без .toString(), метод .toString() всё равно будет вызываться внутри метода System.out.println(). Вывод: System.out.println(sb); и System.out.println(sb.toString()); это одно и то же (эти 2 строчки полностью эквивалентны).
@user-ic9ju7xu3j
@user-ic9ju7xu3j 6 жыл бұрын
Метод print перегружен. Поэтому для разного типа входных параметров у него своя логика. Получая на вход объект он ищет toString, если он не переопределен, то вызывается метод родителя (в конечном счете это Object)а это вывод имени класса и хэшкода разделенные собачкой( если не ошибаюсь)
@user-pr2fp7ly1c
@user-pr2fp7ly1c 2 жыл бұрын
@@user-ic9ju7xu3j он не перегружен, просто класс Object при себе имеет метод toString()
@bathord7147
@bathord7147 5 жыл бұрын
Всё очень понятно и доходчиво. По окончанию урока начал сам писать этот код со StringBuilder'ом, но почему-то на месте конструктора, куда мы вписывали "Hello", подчеркнули красным и попросили создать конструктор. Метод "append" почему-то не существует для них, тоже нужно самому создавать. Вот код: public class StringBuilder { public static void main(String[] args) { StringBuilder sb = new StringBuilder("Hello"); sb.append(" my class"); } } Подскажите пожалуйста, вроде всё идентично с видео, а работать не хочет. P.S. Оказывается, это происходило из-за того, что объект StringBuilder совпадал с названием класса. Если изменить название класса, то всё заработает. Но почему так?
@ChernovSanek
@ChernovSanek 2 жыл бұрын
Потому что твой класс называется также как и стандартный класс в java.lang. Конфликт с названиями. Ты пытался вызвать метод .append() дял своего класса
@user-pr2fp7ly1c
@user-pr2fp7ly1c 2 жыл бұрын
@@ChernovSanek разве можно создавать классы(доступные друг другу) с одинаковыми названиями, и, есть ли какой-то приоритет при создании ссылки на объект этого класса?
@spirridd
@spirridd 7 жыл бұрын
Супер! Только форматирование кода страдает...
@denbrown4580
@denbrown4580 2 жыл бұрын
Странно, когда я пишу код в Ide, у меня ошибка, при попытке написать Hello в стринг билдере. Более того, sb.append выделен красным. ide решила проблему c аппендом, создав ниже private void append(String s). В видео ничего такого нет. Это может быть из за того, что за это время что-то в джаве поменялось?
@ChernovSanek
@ChernovSanek 2 жыл бұрын
У тебя название твоего java файла совпадает с классом StringBuilder. Измени свой класс на String_Builder
@khoromi
@khoromi Жыл бұрын
@@ChernovSanek бл ты гений! Спасибо. дал себе привычку никогда не называть файлы названиями методов и прочего из-за возможных ошибок, но тут подзабил..
@a.stypka667
@a.stypka667 4 жыл бұрын
Почему-то мне приходится прописывать так: public class StringBuilder { public static void main(String[] args) { java.lang.StringBuilder sb = new java.lang.StringBuilder("Hello"); sb.append(" my").append(" friend"); System.out.println(sb.toString()); } } Т.к. без java.lang. не работает append. С чем это можно быть связано?
@artemgooduck4027
@artemgooduck4027 3 жыл бұрын
названия класса измени, так как java использует твой класс с названием StringBuilder
@yusupsm9312
@yusupsm9312 8 жыл бұрын
Аудитория растет, но к сожалению новых уроков уже нет более 2-х месяцев
@user-rs6xc5qx7d
@user-rs6xc5qx7d 4 жыл бұрын
Без toString() выводит норм
@oleksandrfesiuk6310
@oleksandrfesiuk6310 4 жыл бұрын
метод toString() вызывается неявно в System.out.println()
@knightmurloc443
@knightmurloc443 8 жыл бұрын
спасибо за уроки обясни ешё как запускать програмы на java в окне
@vitaliyk.6371
@vitaliyk.6371 6 жыл бұрын
Не работает код на версии 2017.3.5. Выкидывает ошибку: Error:(30, 28) java: constructor StringBuilder in class StringBuilder cannot be applied to given types; required: no arguments found: java.lang.String reason: actual and formal argument lists differ in length Подскажите что делать,застрял.
@korumstar9989
@korumstar9989 5 жыл бұрын
Было бы здорово увидеть сам код.
@user-xc7my7by4m
@user-xc7my7by4m 3 жыл бұрын
для чего в данном случаем при sout нужно писать toString() ? И без него прекрасно выводит, даже идея пишет, что нет необходимости вызывать метод
@user-ef5ni3ej7t
@user-ef5ni3ej7t 2 жыл бұрын
Просто вышла новая версия Java. Раньше нужно было писать toString(), а сейчас не обязательно. Таких мелочей очень много! Видео уже 5 лет!
@yauhenizakhno8510
@yauhenizakhno8510 6 жыл бұрын
А так System.out.println(x.toUpperCase()); выводит. И ничего не переприсваиваем. Почему?
@exmike1197
@exmike1197 3 жыл бұрын
Потому что ты в методе sout() сразу вызываешь метод апперКейс, который в свою очередь делает операции над переменно х и нет смысла заново присваивать) Хотя наверное спустя 2 года немного поздновато отвечать :D да и Вы если продолжили с тех пор заниматься уже наверняка должны были стать шарящим человеком))
@svetliy1987m
@svetliy1987m Жыл бұрын
Если писать код вот так как на видео, то уже сразу вылезает какая-то не понятная ошибка
@rapiraOYP
@rapiraOYP 3 жыл бұрын
У меня нет метода append
@yuriymoskalev45
@yuriymoskalev45 7 жыл бұрын
Спасибо большое за отличную подачу материала. Оставьте в описании видео кошельки для доната.
@alishevN
@alishevN 7 жыл бұрын
Спасибо вам! Эти уроки бесплатные :)
@user-gy2vh5di5i
@user-gy2vh5di5i 5 жыл бұрын
Нафиг ему ваш донат, по нему и так видно, что бабки лопатой гребет, а учит на чистом интузиазме практически.
@YanYan-cj6np
@YanYan-cj6np 6 жыл бұрын
У меня такая проблема,я не могу вписывать в условиях стринг билдера ошибка
@korumstar9989
@korumstar9989 5 жыл бұрын
Было бы здорово увидеть сам код.
@LailaIbrahima
@LailaIbrahima 3 жыл бұрын
StringBuilder string = new StringBuilder("Hello"); System.out.println(string.toString()); string.append(" darkness").append(" my old friend"); System.out.println(string.toString()); - почему в этой строчке мы пишем "toString", а не просто string?
@user-pr2fp7ly1c
@user-pr2fp7ly1c 2 жыл бұрын
мушто метод подразумевает под собой конвертацию н-ого типа в String, оттуда и такое название, а string нам ничего не говорит, да и в стрингбилдере такого метода вроде нет
@alexmusic7589
@alexmusic7589 3 жыл бұрын
Добрый день ! При запуске выдаёт ошибку : Error: Could not find or load main class StringBuilder Кто-нибудь знает , что это?
@aibardulatov
@aibardulatov 3 жыл бұрын
Может забыли main добавить
@melissalife1818
@melissalife1818 Жыл бұрын
чуть не уснул
@nikiforovpteacher
@nikiforovpteacher Жыл бұрын
Любая цепочка конкатенаций проходит через промежуточный StringBuider, а потом вызывается конструктор String и возвращается новая строка. Чтобы в этом убедиться, достаточно посмотреть код JVM
@Dmitry_RS
@Dmitry_RS Жыл бұрын
Т.е. делаем просто через + и не пользуемся StringBuider?
@nikiforovpteacher
@nikiforovpteacher Жыл бұрын
@@Dmitry_RS зависит от многих факторов
@Dmitry_RS
@Dmitry_RS Жыл бұрын
@@nikiforovpteacher Если не затруднит можете подробнее написать от каких, переучиваюсь сейчас с php - хочу сразу понять как делать правильно.
@berkator
@berkator 11 ай бұрын
​@@Dmitry_RSStringBuilder - это класс, предоставляющий удобные методы для работы с изменяемыми строками. Он позволяет выполнять множество операций с текстом без создания дополнительных объектов в памяти, что делает его более эффективным для конкатенации большого числа строк. StringBuilder рекомендуется использовать, когда вам необходимо собирать или изменять строки в циклах или приложениях с большим объемом операций над строками. Объединение строк с помощью оператора + является более простым, но менее эффективным способом объединения небольшого числа строк. Хотя использование + для объединения строк удобно и читабельно, оно неэффективно для случаев, когда объединяется большое количество строк или выполняется множество операций над строками. Отличие между StringBuilder и объединением строк через + заключается в их производительности. Когда объединяется большое количество строк, использование StringBuilder может существенно увеличить производительность вашего кода, так как он позволяет избежать создания множества промежуточных строк в памяти, что приводит к меньшему потреблению ресурсов и более быстрой работе.
@berkator
@berkator 11 ай бұрын
​@@Dmitry_RSВажно выбирать подходящий метод в зависимости от конкретного сценария. Если вам нужно объединить всего несколько строк или выполнять эту операцию редко, оператор + может быть вполне удовлетворительным. Однако, если вам необходимо объединить много строк или проводить множество операций над текстом, то StringBuilder будет более предпочтительным выбором для оптимизации производительности.
@user-jn8my8ke3n
@user-jn8my8ke3n 2 жыл бұрын
без toString() тоже без проблем вывод происходит
@frolomaskor
@frolomaskor Жыл бұрын
12:18
@ilyaLopatin
@ilyaLopatin Жыл бұрын
Зачем tostring? И без него всё выводит
@FerraKube
@FerraKube Жыл бұрын
дак 7 лет назад какая версия java то была?)
@donttouch5878
@donttouch5878 3 жыл бұрын
посмотрел урок тяжело понимать так как я не давно начал смотреть видео ролики , может поэтому , читаю комменты всем всё понятно а мне нет! либо я тупой либо это люди раньше занимались программированием
@justoleg6001
@justoleg6001 4 жыл бұрын
По теме с 11й минуты.
@Fulls_moment
@Fulls_moment Жыл бұрын
хороший урок, но им не хватает независимости от других, брать новые примеры, а не использовать старые и "подвязывать" к новым,дольше вникаешь
@user-us4pj9mm4w
@user-us4pj9mm4w 4 жыл бұрын
а чем этот метод отличается от метода concat() , чем лучше или какие отличия ? на мой взгляд этот метод проще, не нужно создавать заранее ни чего отличного от обычного String, проще вывод... пример: String a = " text "; a = a.concat("text two"); System.out.println(a); вывод : text text two
@FerraKube
@FerraKube 3 жыл бұрын
отличия в так называемом "нерационального использования памяти". Твоим способом мусор остается в памяти, через билдер нет. Метод append принимает любой тип данных, а concat только string. А уж про всякие полезные методы билдера лучше самому почитать)
@n0stamina
@n0stamina Ай бұрын
Не знаю нужно ли это автору, но я плюс-минус выровнял звук у видоса, могу скинуть, чтобы перезалить спустя 8 лет 😁
@HelloWorld-oc2eu
@HelloWorld-oc2eu 2 жыл бұрын
Тема mutable и imutable не раскрыта. Беру складываю строки, они изменяются и те и те
@AndreyMalygin
@AndreyMalygin 2 жыл бұрын
В одном случае с String создаётся новая строка под капотом, а в StringBuinder работает быстро и как надо, просто добавляется к строке
@user-fg7ri5vw8f
@user-fg7ri5vw8f Жыл бұрын
друг, ты вообще видео смотрел? )) Особенно ту часть, про расход памяти и быстродействие.
@anton28348
@anton28348 4 жыл бұрын
За такую работу со строками самому языку Java хочется поставить дизлайк конечно...
@Mariya77M
@Mariya77M Жыл бұрын
Не поняла разницу ,если честно.
@user-zq3tr7ny2o
@user-zq3tr7ny2o Жыл бұрын
Представь: Ты сидишь за столом с двумя волшебными штампами. Они волшебный, потому что каждый раз, когда ты ставишь ими печать, они отпечатывают новое слово, которое ты задумала у себя в голове. Эти штампы называются "Стринг" и "СтрингСтроитель". Кроме печатей также нужен лист бумаги, на котором, собственно этими штампами ставить печати. Листы бумаги хранятся в шкафу в трёх метрах от стола, за которым ты сидишь и взять за раз можно только один лист. Представила? Теперь давай выясним чем отличаются эти две печати. Как они работают: Печать "Стринг" работает так, что за одном листке бумаги можно поставить только одну печать. Поэтому, если тебе надо напечатать предложение из трёх слов, то тебе потребуются следующие действия: 1. Встать из-за стола, дойти до шкафа, взять лист и вернуться за стол. 2. Отштамповать слово печатью "Стринг". 3. Встать из-за стола, дойти до шкафа, взять второй лист и вернуться за стол. 4. Отштамповать второе слово печатью "Стринг". 5. Положить второй лист справа от первого листа. 6. Встать из-за стола, дойти до шкафа, взять третий лист и вернуться за стол. 7. Отштамповать третье слово печатью "Стринг". 8. Положить третий лист справа от второго листа. 9. Взять скотч и склеить листы. ГОТОВО!!! *** А теперь давай посмотрим как работает штамп "СтрингСтроитель": 1. Встать из-за стола, дойти до шкафа, взять лист и вернуться за стол. 2. Отштамповать слово печатью "Стринг". 3. Отштамповать второе слово справа от первого печатью "Стринг". 4. Отштамповать третье слово справа от второго печатью "Стринг". ГОТОВО!!! В первом случае при использовании штампа "стринг" ты постоянно бегаешь до шкафа, ищешь скотч, возёкаешь листы по столу и тд... то есть ты тратишь много сил и энергии. А во втором случае разок сходила до шкафа села и тут же отшлёпала три слова. Разумеется ты бы выбрала второй вариант... Вот и JVM не любит лишние движение, поэтому он тоже отдает предпочтение StringBuilder, как и ты - штампу "СрингСтроитель"
@user-kf2pi4bx7v
@user-kf2pi4bx7v 2 жыл бұрын
Мне одному тихо или он действительно тихо говорит?
@user-nx4zd1bt9d
@user-nx4zd1bt9d Жыл бұрын
одному
@user-gp6fp3pq5f
@user-gp6fp3pq5f 7 жыл бұрын
урок отстой, ничого не слышно
@1mmerlich
@1mmerlich 10 ай бұрын
Можно ещё проще написать public class Lesson23 { public static void main(String[] args) { StringBuilder s = new StringBuilder("Hello"); s.append(" My" + "Friend"); System.out.println(s.toString()); } }
@user-ss9oi9cn9o
@user-ss9oi9cn9o 10 ай бұрын
а можно написать s.append (" my friend"); xD
@user-vj5fv6rv5u
@user-vj5fv6rv5u Жыл бұрын
Спасибо!
Самое Романтичное Видео ❤️
00:16
Глеб Рандалайнен
Рет қаралды 6 МЛН
🤔Какой Орган самый длинный ? #shorts
00:42
Was ist im Eis versteckt? 🧊 Coole Winter-Gadgets von Amazon
00:37
SMOL German
Рет қаралды 36 МЛН
Изучение Java в одном видео уроке за час!
1:06:58
Гоша Дударь
Рет қаралды 1 МЛН
Задача из Собеседования на 160,000 Евро в Год
13:27
Саша Лукин
Рет қаралды 1,1 МЛН
19. Основы Java - Вложенные циклы
26:26
Александр Фисунов
Рет қаралды 3,4 М.
😱 Как стать программистом с нуля? Без курсов самому.
24:43
Хауди Хо™ - Просто о мире IT!
Рет қаралды 341 М.
Java Strings are Immutable - Here's What That Actually Means
7:06
Coding with John
Рет қаралды 606 М.
Самое Романтичное Видео ❤️
00:16
Глеб Рандалайнен
Рет қаралды 6 МЛН