powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему NullPointerException не проверяемое исключение?
25 сообщений из 190, страница 7 из 8
Почему NullPointerException не проверяемое исключение?
    #39749607
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинlistOfCompany.Where(c=> c.id > 123).ToList().ForEach(cc => cc.Name = "Вася")

Код: java
1.
2.
3.
listOfCompany.stream()
                   .filter(c -> c.id > 123)
                   .forEach(c -> c.setName("Вася")



но записано так, чтоб враги не догадались
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749617
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaно записано так, чтоб враги не догадались
вот именно))).
Тут главное не переборщить в производстве с коротким кодом.
Например, в where вместо двух равно поставить одно и коллекция будет испорчена..... Декларативно.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749621
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Тут главное не переборщить
это универсальный совет, годящийся для всего ;)
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749623
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaОзверинlistOfCompany.Where(c=> c.id > 123).ToList().ForEach(cc => cc.Name = "Вася")

Код: java
1.
2.
3.
listOfCompany.stream()
                   .filter(c -> c.id > 123)
                   .forEach(c -> c.setName("Вася")



но записано так, чтоб враги не догадались

да. мой глаз не мог зацепиться из-за отсутствия setName()

Petro123Озверин,

Выше сказал.
Фильтрует коллекцию по айдишникам и всем присваивает чере for имя Вася

ни в шарпе forEach не относится к linq, ни в java - к stream. Зачем приводить его в пример?
Надо же сравнивать старый способ и новый


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
String[] companies = {"Sam", "C", "Asdf", "Ddfgf"};
    List<Integer> companyNameLengthMoreThan3List = Arrays.stream(companies)
        .filter(e -> e.length() > 3)
        .map(String::length)
        .collect(Collectors.toList());


String[] companies = {"Sam", "C", "Asdf", "Ddfgf"};
    List<Integer> companyNameLengthMoreThan3List = new ArrayList<>();
    for (String company : companies) {
      if (company.length() > 3) {
        companyNameLengthMoreThan3List.add(company.length());
      }
    }



При анализе кода я гораздо быстрее пойму, что делает первый блок, нежели второй. А вот как он это делает - я буду понимать примерно с одинаковым кол-вом времени. То есть при беглом анализе кода мне удобнее читать стримы.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749625
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин
Код: java
1.
2.
3.
4.
5.
String[] companies = {"Sam", "C", "Asdf", "Ddfgf"};
    List<Integer> companyNameLengthMoreThan3List = Arrays.stream(companies)
        .filter(e -> e.length() > 3)
        .map(String::length)
        .collect(Collectors.toList());





и для примера на скале -

Код: java
1.
    val companyNameLengthMoreThan3List = List("Sam", "C", "Asdf", "Ddfgf").filter(._length > 3).map(_.length)
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749630
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин
Код: java
1.
companyNameLengthMoreThan3List.add(company.length());

ну, если бизнес логика в одну строку перебросить коллекцию, тогда вполне читабельно).
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749632
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверин
Код: java
1.
companyNameLengthMoreThan3List.add(company.length());

ну, если бизнес логика в одну строку перебросить коллекцию, тогда вполне читабельно).

а гиде фильтрация по длине имени компании? Вопрос же не в кол-ве строк.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749638
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
Изначально вопрос был про райзе.
Я так понимаю, что при фильтрации его не будет.
Значит спокойно фильтруй стримами.
А потом уже for вместе с райзе и сложной БЛ.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749641
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверин,
Изначально вопрос был про райзе.
Я так понимаю, что при фильтрации его не будет.
Значит спокойно фильтруй стримами.
А потом уже for вместе с райзе и сложной БЛ.

а зачем тут for()? O-o
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749646
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинPetro123Озверин,
Изначально вопрос был про райзе.
Я так понимаю, что при фильтрации его не будет.
Значит спокойно фильтруй стримами.
А потом уже for вместе с райзе и сложной БЛ.

а зачем тут for()? O-o
Отсюда:
автормое имхо что опшионалы тут не вижу чем помогут.
Если я пропустил или возбудил исключительную на 10м уровне стека, то все 5 тысяч строк кода я не просматриваю.
Ловлю возле for и всё.
Имхо.
Можешь не рассматривать.
Юз кейс в продакшене у меня такой.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749647
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а так как при работе со стримами обработка исключений стала другой, все стали доказывать что все перейдут на стримы.
Поживем увидим.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749653
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123мое имхо что опшионалы тут не вижу чем помогут.
Если я пропустил или возбудил исключительную на 10м уровне стека, то все 5 тысяч строк кода я не просматриваю.
Ловлю возле for и всё.

Юз кейс в продакшене у меня такой.

Ну так я ж приводил пример - напиши свой коллектор, пусть он бросает exception - в чем проблема? Универсальный реюзабельный код, что еще надо?


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
@Test public void upToAndThrow_throws_an_exception_containing_both_the_cause_and_the_results_successfully_computed_before_the_failure() {
        try {
            uris.stream()
                .map(lazy(URI::create))
                .collect(upToAndThrow(IllegalArgumentException.class));
            fail();
        } catch (FailFastCollectException e) {
            assertThat(e.getCause(), instanceOf(IllegalArgumentException.class));
            assertThat(e.getResults(), contains(URI.create(uris.get(0)), URI.create(uris.get(1))));
        }
    }
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749672
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
Хммм.
У нас же коллекция заканчивается на второй строке for.
Далее вся работа не с коллекцией стримом, а с объектом из этой коллекции. Уходит в стек на глубину 10 методов.
Ничего не выигрываем.
Если в спринге транзакции и аннотации вешаются на весь стек, то тут ничем не выигрываем.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749677
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторR collect​(Collector collector)
Один из самых мощных операторов Stream API. С его помощью можно собрать все элементы в список, множество или другую коллекцию, сгруппировать элементы по какому-нибудь критерию, объединить всё в строку и т.д.. В классе java.util.stream.Collectors очень много методов на все случаи жизни, мы рассмотрим их позже. При желании можно написать свой коллектор, реализовав интерфейс Collector.это типа паттерна визитор, для обработки коллекции.
Другой юзкейс.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749680
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверин,
Хммм.
У нас же коллекция заканчивается на второй строке for.
Далее вся работа не с коллекцией стримом, а с объектом из этой коллекции. Уходит в стек на глубину 10 методов.
Ничего не выигрываем.
Если в спринге транзакции и аннотации вешаются на весь стек, то тут ничем не выигрываем.

мне иногда кажется, что я общаюсь с генератором случайных фраз..транзакции и аннотации тут причем?
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749682
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123авторR collect​(Collector collector)
Один из самых мощных операторов Stream API. С его помощью можно собрать все элементы в список, множество или другую коллекцию, сгруппировать элементы по какому-нибудь критерию, объединить всё в строку и т.д.. В классе java.util.stream.Collectors очень много методов на все случаи жизни, мы рассмотрим их позже. При желании можно написать свой коллектор, реализовав интерфейс Collector.это типа паттерна визитор, для обработки коллекции.
Другой юзкейс.

только именно коллектор может собрать воедино все нужные тебе результаты и пробросить исключение.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749692
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинмне иногда кажется, что я общаюсь с генератором случайных фраз..транзакции и аннотации тут причем?ты не видишь аналогии, а я вижу.

Озверинтолько именно коллектор может собрать воедино все нужные тебе результаты и пробросить исключение.
Ты путаешь задачи.
Юзкейс выше это не сбор результатов, а запись пришедшей коллекции в базу или веб сервис.
Паттерн визитор собирает все результаты.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749837
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin
Код: sql
1.
2.
3.
4.
5.
6.
7.
List<A> source = ...;
  for (A a : source) {
   if (! isValidObject(a)) continue;
     ...
     result.put(a, z);
  }
  return new Tupple<>(result, rejectReasons);


?
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749843
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Alexey Tomin
Код: sql
1.
2.
  for (A a : source) {
   if (! isValidObject(a)) continue;

?Стандартный способ пропустить остаток цикла, не запихивая его в (не)длинный if.
В чём проблемы-то?
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749854
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
В том что вместо стандартного тюнинга кода, он был переписан на стримы как единственное и крутое решение.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749874
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Моя-твоя-не-понимай".
Лично мне удобнее когда: "если нет, то досрочно выходим", вместо: "если да, то большущий вложенный блок кода".
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749877
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
Ну тогда его ждем. Зачем он выложил тот кусок кода, и что этим показывает.
Можно было для наглядности: "было... Проблема... Стало...".
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749878
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov"Моя-твоя-не-понимай".
Лично мне удобнее когда: "если нет, то досрочно выходим", вместо: "если да, то большущий вложенный блок кода".ну я так и написал. Мне тоже так удобнее.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749910
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никPetro123Озверин,
О да!))) Микросервисы.
Тут 2 человека ими занимаются.
Причем я не ретроград, поверь).

Если я этого не вижу, значит этого нет(с).
Частью моих обязанностей является проведение интервью с внешними\внутренними программистами и техническая экспертиза проектов, с целью определить людей на подходящие для них проекты. Так вот, в моей конторе 500+ человек и около 30 проектов в разработке. Контора специализируется на жестком интерпрайзе для американского рынка. Если 4 года назад это были Spring, Hibernate, реляционки, то сейчас как минимум в половине случаев это стримы, спарк, ML, nosql и микросервисы и чем дальше, тем процент таких проектов увеличивается. Напомню, контора специализируется на энтерпрайзе. Так вот, сейчас огромный головняк, куда деть тучу spring-еров и обычных javистов. Проводим ускоренные курсы по ФП, стримам, микросервисам и бигдате, чтобы хоть как-то позакрывать вакансии.
Простите хотел уточнить о каких стримах речь и где вы в ентерпрайзе заюзали мл? Ну просто сугубо любопытства ради интересуюсь.

ЗЫ. Свичнуться со спринга на что то другое сложности не представляет везде яйца одни и те же с минимумом специфики
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749916
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTПростите хотел уточнить о каких стримах речь и где вы в ентерпрайзе заюзали мл? Ну просто сугубо любопытства ради интересуюсь.

Речь об архитектуре вида https://mapr.com/ebooks/streaming-architecture/chapter-02-stream-based-architecture.html
Насчет ML -

1) вычленение полезной информации из рейтингов TV для последующей ее продажи
2) онлайн определение fraud transactions
3) Gaming -> определение стратегии победителей, вычленение и бан ботов(тут правда проект не совсем энтерпрайз)
4) Распознавание ювелирных украшений(чтобы можно было взять напрокат в одном пункте и сдать в другом, той же сети)
5) Определение того не собирается ли человек уволится по некоторым паттернам и соотвествующая реакция HR на это.

Конечно, ML не суется всегда и везде, но вот навскидку за последние пару месяцев. Да,это всего лишь мелкие части более крупных систем, но все же тенденция на лицо.
...
Рейтинг: 0 / 0
25 сообщений из 190, страница 7 из 8
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему NullPointerException не проверяемое исключение?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]