Wow, lots of discussion went on since I was busy doing other stuff!

Thanks Patrick for doing the work of creating a new webrev for me. Really
appreciated!

Pavel already mentioned it, but I think List.of instead of
Collections.emptyList in ZoneOffsetTransition is the right thing to do for
visual and behavioural consistency. If it turns out that we need to revert
to Collections.empty* and Collections.unmodifiable* for e.g.
serializability or class loading concerns, then I'd be happy to revert both
of the lines I touched. Otherwise I believe that List.of should be used
consistently.

I think Stuart made List.of() non-singleton because there wasn't any
evidence that it made List.of() more memory- or time-intensive than
Collections.emptyList(), but I might be wrong on this. I'm sure he can
explain more or correct me in this case.

Kind regards,
Jonathan


On 15 September 2016 at 13:33, Patrick Reinhart <patr...@reini.net> wrote:

> Hello together,
>
> I tried to process all suggested change input into the following new
> webrev:
>
> http://cr.openjdk.java.net/~reinhapa/reviews/8134373/webrev.01
>
> Give me feedback if something is missing/wrong
>
> -Patrick
>
>
> On 2016-09-15 13:48, Pavel Rappo wrote:
>
>> Daniel, Claes,
>>
>> List.of() and Collections.emptyList() are not the same. The behaviours are
>> different. Moreover, immutable static factory methods return instances
>> which are
>> value-based. I believe it also means we are not tied with unconditional
>> instantiation, and in case of empty collections/maps could probably
>> return the
>> same object every time.
>>
>> We should ask Stuart why it has been done like that in the first place.
>> Maybe
>> out of concern people might synchronize of those objects? I don't know.
>> Let's
>> say for now it's an implementation-specific detail.
>>
>> On 15 Sep 2016, at 12:35, Claes Redestad <claes.redes...@oracle.com>
>>> wrote:
>>>
>>> +1
>>>
>>> I don't mind List.of() aesthetically, but there are places where
>>> startup/footprint is important where Collections.emptyList()
>>> is simply superior, e.g., constituting permanent data structures
>>> such as the module graph during early bootstrap.
>>>
>>>

Reply via email to