commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: [Collections] UnmodifiableSet/UnmodifiableList
Date Thu, 23 Mar 2017 15:35:28 GMT
On 23 March 2017 at 15:02, Lukasz Lenart <lukaszlenart@apache.org> wrote:
> 2017-03-23 14:37 GMT+01:00 sebb <sebbaz@gmail.com>:
>> Not sure I follow.
>>
>> What exactly can the compiler check?
>
> You can declare a variable or a field of type UnmodifiableSet but
> there is no way to create instance of the type UnmodifiableSet - there
> is no such constructor neither factory method :)
>

You can create an instance:

        UnmodifiableSet<String> us = (UnmodifiableSet<String>)
UnmodifiableSet.unmodifiableSet(new java.util.HashSet<String>());
        us.clear(); // The compiler is happy with this, but it fails at runtime

AFAICT the only way the compiler can check is to create a class or
interface that does not have the update methods.

One could potentially create a ReadOnlySet interface that is
implemented by UnmodifiableSet.
Similarly for the other unmodifiable Collections.

However would it be worth it?

> Regards
> --
> Ɓukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message