Hmmm, I am for consistency, but at least I use very few maps as compared
to lists, and rarely ever output the size of a map, but constantly for
lists, so having getSize() on List would still be beneficial.
This has of course been discussed many times before - maybe a "size"
operator:
#list // list.size()
#map // map.size()
#string // string.length
which people could override (e.g. sizeOf() method) and which unifies all
kinds of "how many elements do I hold / how big am I" concepts (if its
not a collection holding items) ?-)
Cheers,
mg
On 01/08/2020 18:08, OCsite wrote:
MG,
On 1 Aug 2020, at 14:59, MG <mg...@arscreat.com
<mailto:mg...@arscreat.com>> wrote:
What was the reason again Groovy does not add getSize() here... ?-)
Consistency I guess. Having a List.size would lead to a request to add
Map.size, which alas would clash with Map['size'].
All the best,
OC
On 01/08/2020 04:06, Paul King wrote:
What Daniel said is correct. Also if there was an accessible
getSize() method, you could use just ".size".
Cheers, Paul.
On Sat, Aug 1, 2020 at 11:19 AM Daniel Sun <sun...@apache.org
<mailto:sun...@apache.org>> wrote:
The parentheses of methods without parameters could not be ommitted.
`[1, 2, 3].size` is accessing the private field `size` of
`ArrayList`, so illegal reflective access warning will be thrown.
Cheers,
Daniel Sun
On 2020/08/01 00:49:54, paul <pl.grue...@gmail.com
<mailto:pl.grue...@gmail.com>> wrote:
> Hi all,
>
> (on latest groovy 3.0.5 and OpenJDK 14) omitting the empty
parentheses to the .size() call works, but throws an illegal
reflective access warning:
>
> ```
> groovy:000> [1,2,3].size
> WARNING: An illegal reflective access operation has occurred
> WARNING: Illegal reflective access by
org.codehaus.groovy.reflection.ReflectionUtils
(file:/home/paul/.sdkman/candidates/groovy/3.0.5/lib/groovy-3.0.5.jar)
to field java.util.ArrayList.size
> WARNING: Please consider reporting this to the maintainers of
org.codehaus.groovy.reflection.ReflectionUtils
> WARNING: Use --illegal-access=warn to enable warnings of
further illegal reflective access operations
> WARNING: All illegal access operations will be denied in a
future release
> ===> 3
> ```
>
> Curiously, the size() method seems to be the only
parameter-less method where I can
> omit the empty parentheses – all others throw a
MissingPropertyException (as expected).
>
> What is the desired behaviour, and why is it even working
(albeit with warnings) with .size ?
>
>
> best
> paul
> --
> typed with Neo 2 -- an ergonomically optimized keyboard layout
> for German, English, programming, and science
> ❤ http://neo-layout.org <http://neo-layout.org/>
> ❤ https://useplaintext.email <https://useplaintext.email/>
> ❤ YY-MM-DD dates (ISO 8601/RFC 3339)
> � UTF-8 encoding
>