Thank you Remi.

Re final: Attila got into my head.

> On Feb 15, 2018, at 4:24 PM, Remi Forax <fo...@univ-mlv.fr> wrote:
> 
> ----- Mail original -----
>> De: "Ivan Gerasimov" <ivan.gerasi...@oracle.com>
>> À: "Jim Laskey" <james.las...@oracle.com>, "core-libs-dev" 
>> <core-libs-dev@openjdk.java.net>
>> Envoyé: Jeudi 15 Février 2018 20:36:44
>> Objet: Re: RFR: 8197594 - String and character repeat
> 
>> Hello!
>> 
>> The link with the webrev returned 404, but I could find it at this
>> location: http://cr.openjdk.java.net/~jlaskey/8197594/webrev-00/
> 
> Jim,
> in static String repeat(char ch, int count) 
>  you can remove the 'else's because they are after a throw or a return as you 
> have done in the other methods.
> 
> in static String repeat(int codepoint, int count),
>  the parenthesis just after the return seems unnecessary,
> 
> in String repeat(int count)
>  at the end instead of testing isLatin1()  
>    return new String(bytes, coder);
>  should be equivalent.
> 
> in replicate
>  you can return 'result' after the call to Arrays.fill, to signal to readers 
> that this is an optimization and that the primary code is below, it will also 
> avoid to shift the primary code to the right.
> 
> and nitpicking about the style, can you remove those pesky final, it's the 
> Nashorn style but not the JDK one :)
> 
> cheers,
> Rémi
> 
> 
>> On 2/15/18 9:20 AM, Jim Laskey wrote:
>>> This is a pre-CSR code review [1] for String repeat methods (Enhancement).
>>> 
>>> The proposal is to introduce four new methods;
>>> 
>>> 1. public String repeat(final int count)
>>> 2. public static String repeat(final char ch, final int count)
>>> 3. public static String repeat(final int codepoint, final int count)
>>> 4. public static String repeat(final CharSequence seq, final int count)
>>> 
>>> For the sake of transparency, only 1 is necessary, 2-4 are convenience 
>>> methods.
>>> In the case of 2, “*”.repeat(10) performs as well as String.repeat(‘*’, 10).
>>> 3 and 4 convert to String before calling 1.
>>> 
>>> Performance runs with jmh (results as comment in [2]) show that these
>>> methods are significantly faster that StringBuilder equivalents.
>>>  - fewer memory allocations
>>>  - fewer char to byte array conversions
>>>  - faster pyramid replication vs O(N) copying
>>> 
>>> I left StringBuilder out of scope. It falls under the category of
>>> Appendables#append with repeat. A much bigger project.
>>> 
>>> All comments welcome. Especially around the need for convenience
>>> methods, the JavaDoc content and expanding the tests.
>>> 
>>> — Jim
>>> 
>>> [1] webrev: http://cr.openjdk.java.net//oj/home/jlaskey/8197594/webrev-00
>>> [2] jbs: https://bugs.openjdk.java.net/browse/JDK-8197594
>>> 
>>> 
>> 
>> --
>> With kind regards,
>> Ivan Gerasimov

Reply via email to