I really can’t see the value of more than one method. If we need other forms they should be for constructing strings not repeating strings.
Sent from my MacBook Wheel > On Feb 16, 2018, at 6:12 PM, Xueming Shen <xueming.s...@oracle.com> wrote: > >> On 2/16/18, 5:13 PM, Stuart Marks wrote: >> Let me put in an argument for handling code points: >> >>> 3. public static String repeat(final int codepoint, final int count) >> >> Most of the String and Character API handles code points on an equal footing >> with chars. I think this is important, as over time Unicode is continuing to >> add supplementary characters -- those that can't be represented in a Java >> char value. Examples abound of how such characters are mishandled. >> Therefore, I believe Java APIs should have full support for code points. >> >> This is a small thing, and some might consider it a rare case -- how often >> does one need to repeat something like an emoji? The issue however isn't >> that particular use case. Instead what's required is the ability to handle >> *any Unicode character* uniformly, regardless of whether or not it's a >> supplementary character. The way to do that is to deal with code points, so >> any Java API that deals with character data must also handle code points. >> >> If we were to add just one method: >> >>> 1. public String repeat(final int count) >> >> the workaround is to take the character, turn it into a string, and call the >> repeat() method on it. For a 'char' value, this isn't too bad, but I'd argue >> it isn't pretty either: >> >> Character.toString(charVal).repeat(n) > > How about > > public static repeat(int count, char... chars)? > > String.repeat(100, '*'); > String.repeat(100, 'x', 'y'); > > and it should not be too bad and kinda consistent to have > > String.repeat(n, Character.toChars(0x12345)); > > -sherman