PROPOSAL: 'final' without explicit type (update)
Marek Kozieł
develop4lasu at gmail.com
Mon Mar 30 23:40:49 PDT 2009
W dniu 31 marca 2009 03:06 użytkownik Gabriel Belingueres
<belingueres at gmail.com> napisał:
>
> Why?
> final a = 1; // static type is int
> final b = new Integer(6); // static type is Integer
>
> If this is confusing for someone:
> final c = 1 + new Integer(7);
>
> then declare it as usual.
>
I just think that in this form solution will be easier to use.
> Assuming that getLocalization() returns a Localization, then the whole
> point is that you don't need the cast; otherwise this feature is of
> doubtful utility. The variable type is known at compile type to be a
> Localization.
"o is Object" for any reason, if it would be Localization then problem
would not exists.
> OTOH, if the getLocalization() returns an Object, then
> final o = (Localization) some.getBoo().getLocalization();
> might throw a ClassCastException at runtime, which is a pity because
> this is a new feature.
> If you want to risk to receive a ClassCastException, then declare it as usual:
> final Localization o = (Localization) some.getBoo().getLocalization();
What for if we already casted it ?
>
> IMHO, type casts should be forbidden, or at least discouraged.
I can agree a little.
--
Pozdrowionka. / Regards.
Lasu aka Marek Kozieł
http://lasu2string.blogspot.com/
More information about the coin-dev
mailing list