- 1
user.status = (user.status == 0)?1:0
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−115
user.status = (user.status == 0)?1:0
guest 16.07.2013 17:30 # −1
kostoprav 16.07.2013 17:46 # +1
(c) KO
Xtasy 16.07.2013 17:50 # +1
Хотя если оно внезапно булево, то проще всего user.status ^= 1;
kostoprav 16.07.2013 18:00 # +1
bormand 16.07.2013 18:12 # +1
kostoprav 16.07.2013 19:34 # 0
bormand 16.07.2013 19:42 # 0
kostoprav 16.07.2013 19:43 # 0
bormand 16.07.2013 19:44 # 0
kostoprav 16.07.2013 19:46 # 0
bee-squid 17.07.2013 18:34 # 0
А можно еще больше?
Перечисление в жабе - это сахар или всё же есть профиты перед
?
bormand 17.07.2013 18:46 # 0
bee-squid 17.07.2013 18:52 # 0
bormand 17.07.2013 18:59 # +2
Да какие там профиты могут быть, если на сам енум генерится точно такой же .class файлик, как и на обычный класс? Вот что показал javap на скомпиленный енум: Так что профит только в удобстве, не более того.
bormand 17.07.2013 19:21 # 0
А дальше банальный вызов ordinal() на аргументе свича, трансляция индекса через массив, описанный выше и инструкция lookupswitch, как и в обычном свиче по интам.
kostoprav 17.07.2013 19:46 # 0
bormand 17.07.2013 19:51 # 0
Несериализуемый енум смотрелся бы странно ;) Какой же изврат надо сделать на енуме, чтобы захотеть запретить его сериализацию?
kostoprav 17.07.2013 19:52 # 0
roman-kashitsyn 16.08.2013 16:15 # +1
3.14159265 16.08.2013 16:21 # 0
Истинно так
3.14159265 16.08.2013 16:20 # 0
Ну на первый взгляд сахар. Когда я увидел впервые - так и подумал.
Но разобрался глубже, и оказалась дюже полезная вещь: сахар процентов на 30-40. То есть скорее нет, чем да.
Там полиморфизм короче записывается, удобно реализовывать семейства чистых функций и заменять NPE-опасные сишкоблядские свичи.
Роман прав - читайте Блоха.
krypt 16.07.2013 22:07 # 0
guest 16.07.2013 22:17 # −8
guest 16.08.2013 13:40 # +1