![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Modus ponens
|
Бритва Оккама - знакомо? Вот, ArrayCollection это и есть лишная сущность. Т.е. Array сериализуется безо всяких дополнительных усилий. А ArrayCollection - непонятно зачем, но тоже сериализуется в то же самое.
По поводу Boolean - я прав Никому кроме Java програмистов не нужен Boolean у которого есть 3 возможных значения. Если нужно три разных значения - есть энумераторы, вот их и используйте, а логические величины не могут и не должны быть nullable. То, что в AS3 Boolean ведет себя как положено - не "недоработка", это в Яве от большого ума и стремления сделать все одинаково не задумываясь о последсвиях. Проблема в Яве, как и в похожих языках в том, что из функции надо возвращать одно значение, и нельзя вернуть несколько разных. В C# решается проще и красивше - можно в функцию передать параметр по ссылке (ref / out). А в Яве либо бросать искючение (затратно), либо вот такой вот маразм с Integer, Boolean и т.п. Есть и другие варианты решения, например в HaXe можно описать такую ситуацию как function foo():Null<Int> и она будет возвращать либо null либо число. Ява старый язык, который давно уже не развивается, попытки с ним что-то то сделать выглядят просто неуклюже, да и не интересно это уже никому... Какое-то время Ява была "образцом ООП", но времена поменялись, ООП в таком виде, как он в Яве уже никому не интересен т.как обнаружилось много недостатков, которые уже никак не исправить - вот Boolean - один из них.Но я больше не буду про Яву, - я действительно ее не перевариваю.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 211
|
Да, не надо про Java ... твои доводы не являются таковыми.
А "нюанс" с Boolean как раз очень красиво выглядит, так как сохраняется принцип "все есть объект", а следовательно, любой объект может быть null. Кстати, почему-то считал, что во флеше Boolean такой же ... если бы проверил сразу, то не возникло бы вопросов. Оказывается - только 2 состояния (null приравнивается к false). |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
квантовая логика)
Cостояние Boolean в AS3 может быть null только до тех пор пока не существует Наблюдателя. Как только мы хотим узнать значение - оно превращается в false/true))
__________________
Отряд Котовскага |
|
|||||
|
Modus ponens
|
А еще бывает отрицательный ноль, например, тоже "удобно" но так же бессмысленно.
http://govnokod.ru/3274 - хоть и сишарп, но тенденция от туда же.
__________________
Hell is the possibility of sanity |
|
|||||
|
Ой как не прав. Зачем мне приводить ответ пользователя "Вы мальчик" к числовому значению, только потому что он может сказать "Я не определился"
. К тому же не забывай в БД любое поле может иметь пустое значение в том числе и тип Boolean. И от этого зависит поведение системы: мальчикам - про машины и девочек; девочкам - про косметику и мальчиков, а неопределившимся - про хороших хирургов . И потом вы уже ушли в другую тему. Т.е. как я понял ни кто не сталкивался с похожей сложностью и не нашёл для неё решения. |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 211
|
У всех своя правда ... с точки зрения Java нам это кажется действительно удобным и правильным (и я сторонник этого и приводил эти же доводы). Но уважамый модератор изначально неприемлит Java, поэтому любые споры в этом направлении так или иначе приведут к позиции "дурак - сам дурак".
А что касается "сложности" ... если ручное приведение типов не вызывает ошибки, то либо а) точно проверить все поля и их видимость или б) при получении приводить вручную. Кстати, а можно посмотреть твои POJO-флеш-классы? |
|
|||||
|
Modus ponens
|
> К тому же не забывай в БД любое
Вы теперь и базы данных на Яве пишете? В SQL как бы всю жизнь была возможность задать полю not null, что аналогично not nullable во всех остальных языках. Если у вас есть 3 варианта - используйте энумератор, булиан он для других вещей предназначен (в том же MySQL замечательно поддерживается). Просто, поймите, что Ява уникален в том, как он относится к Boolean, никто в других языках не хочет такой функционал, и поэтому на претензии типа "а почему это так не работает в AS3" можно только ответить, что в AS3 это работает правильно, а в Яве - нет.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 211
|
Те, кто попробовал и оценил (ну, тот же булеан в 3 состояниях), уже не совсем понимают отказ "других" от этого удобства. Претензий нет
, есть "другой" взгляд ... |
|
|||||
|
Modus ponens
|
Да, и поэтому, те, кто оценил прелести Явы пишут на Скала, например
Как же так получилось, что люди, которые очень любили этот замечательный язык, решили в первую очередь выбросить nullable booleans из своего арсенала?
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 211
|
Ну и зачем, спрашивается, переходить в банальную полемику?
Люди переходят не только с Джавы на Скалу, но еще и на множество других ФУНКЦИОНАЛЬНЫХ языков, которые и созданы специально для того, чтобы быстро и эффективно сделать приложение. Ведь подавляющему большинству не нужна вся потрясающая гибкость языка, нужна эффективность его использования. "Пукать в воздух" при спорах - этого я не люблю. "... решили в первую очередь ...", "... которые очень любили ...", "... выбросить ... из своего арсенала ..." - не слишком пафосно для такой банальной вещи? - При чем тут Boolean, который и виноват всего лишь в том, что наследует (по всем правилам и требованиям языка) предка - Object, то есть может быть null? Что касается Scala и его булевского класса ... В Java есть класс Integer и литерал int, класс Long и литерал long, класс Boolean ... без литерала ... ну вот посчитали, что литерал не нужен. В Scala решили наоборот - сделать литерал. Из оффдоки: abstract final class Boolean extends AnyVal AnyVal has a fixed number subclasses, which describe values which are not implemented as objects in the underlying host system. Но! Насколько я понимаю, никто не запрещает использовать java.lang.Boolean? Или ошибаюсь? |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:31. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| ArrayCollection , Flex4 , remoteobject |
|
|