Страницы

Поиск по вопросам

суббота, 20 апреля 2019 г.

Switch-on-strings Java7 - архив переписки JSR 334

Здравствуйте. Может ли мне кто-нибудь объяснить небольшой момент в переписки, касательно критики и предложений данного нововведедения switch-on-strings в 7 пакете Жабы, в 334 coin project 334 JSR ?
процитирую:
Now that we plan to have closures, do we still need strings-in-switch? Won't a string-to-function map be about as fast (though maybe less convenient)? I don't know what the use cases are for strings-in-switch, but the feature already felt a bit low-benefit to me, and seems even more so now with closures.
ссылка на источник
Что такое понятие closures, и почему в случае его реализации, задается вопрос, существует ли необходимость в данной опции-свичире ? Какая между ними связь, объясните для непонимающего. И так же на счет вопроса не будет ли string-to-function map не менее быстрым.
Может кто небольшое введение сделать для понимания данного коммента ? Буду благодарен.


Ответ

Могу ошибаться, но мне кажется, здесь речь идет о замыканиях, т.е. лямбдах.
Пример, где switch может быть заменен лямбда-функцией.
public static String caseOnString(String str) { switch (str) { case "hello": return "world"; case "bye": return "country"; default: return ""; } }
public static String mapOnString(String str) { Function map = s -> { if (s.equals("hello")) return "world"; if (s.equals("bye")) return "country"; return ""; };
return map.apply(str); }

Комментариев нет:

Отправить комментарий