Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #25397
| From | Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: StringBuilder.append and CharSequence |
| Date | 2013-09-30 20:02 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <slrnl4jm6s.mol.avl@gamma.logic.tuwien.ac.at> (permalink) |
| References | (5 earlier) <slrnl4b22r.mol.avl@gamma.logic.tuwien.ac.at> <l24fdo$ius$1@dont-email.me> <l24qp9$mco$1@dont-email.me> <slrnl4c4di.mol.avl@gamma.logic.tuwien.ac.at> <l2850h$9nf$1@dont-email.me> |
Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> wrote: > On 2013-09-28 01:16, Andreas Leitgeb allegedly wrote: >> markspace <markspace@nospam.nospam> wrote: >>> On 9/27/2013 10:31 AM, Daniele Futtorovic wrote: >>>> On 2013-09-27 15:30, Andreas Leitgeb allegedly wrote: >>>>> Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> wrote: >>>>>> I'd make the toString() as follows to be on the safe side: >>>>>> char[] cs = new char[ m_len ]; >>>>>> Arrays.fill( cs, m_ch ); >>>>>> return new String(cs); >>>>> If this is the ONLY safe side, then there wouldn't be a point >>>>> in implementing a CharSequence in the first place for my task. >>>> Why not? The Standard API's StringBuilder#append(CharSequence), AFAICS, >>>> does not call toString() -- granted, the JavaDoc stipulates nothing to >>>> that effect. >>> I read Andreas's comment as "there's not point introducing a new type if >>> a repeated string is just always turned into a regular String anyway." >> Yes, that's about it. >> The "new type" is the ChSeq from a few posts upthread. >> The "repeated string" is a possibly long repetition of >> just a single char, compactly represented by ChSeq... > > Yes, but using the ChSeq (as it was introduced) to append it to a > StringBuilder WILL NOT, as the JSE currently stands, result in the > invocation of toString(). So you are safe to go. As much as I'd like this answer... "safe" is a strong word, and seeing a particular Java implementation *not* call toString() is sufficient for my task for now, but not not sufficient for "safe". > Then, as far as the implementation of toString() is concerned (which > only matters if other API use your ChSeq's) My application definitely doesn't call toString() on the ChSeq-instances, but a debugger might do it. I thought of implementing toString() to create a String like "42000000 times '*'" making it even more suitable for debugger inspection than the canonical expansion, but unfortunately that would definitely break the specified contract of CharSequence.toString(). I think, this topic has been thoroughly discussed now. Thanks to all who participated.
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
StringBuilder.append and CharSequence Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-09-25 14:19 +0000
Re: StringBuilder.append and CharSequence markspace <markspace@nospam.nospam> - 2013-09-25 13:02 -0700
Re: StringBuilder.append and CharSequence markspace <markspace@nospam.nospam> - 2013-09-25 18:34 -0700
Re: StringBuilder.append and CharSequence Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-09-26 17:37 +0000
Re: StringBuilder.append and CharSequence Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2013-09-26 23:11 +0200
Re: StringBuilder.append and CharSequence Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-09-27 13:30 +0000
Re: StringBuilder.append and CharSequence Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2013-09-27 19:31 +0200
Re: StringBuilder.append and CharSequence markspace <markspace@nospam.nospam> - 2013-09-27 13:45 -0700
Re: StringBuilder.append and CharSequence Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-09-27 23:16 +0000
Re: StringBuilder.append and CharSequence Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2013-09-29 04:58 +0200
Re: StringBuilder.append and CharSequence Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-09-30 20:02 +0000
Re: StringBuilder.append and CharSequence Arne Vajhøj <arne@vajhoej.dk> - 2013-09-25 20:57 -0400
Re: StringBuilder.append and CharSequence Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-09-26 18:01 +0000
Re: StringBuilder.append and CharSequence Arne Vajhøj <arne@vajhoej.dk> - 2013-09-26 15:47 -0400
Re: StringBuilder.append and CharSequence Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-09-26 20:48 +0000
Re: StringBuilder.append and CharSequence Arne Vajhøj <arne@vajhoej.dk> - 2013-09-26 16:58 -0400
Re: StringBuilder.append and CharSequence Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-09-27 12:52 +0000
Re: StringBuilder.append and CharSequence Arne Vajhøj <arne@vajhoej.dk> - 2013-10-04 20:59 -0400
Re: StringBuilder.append and CharSequence Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-10-05 12:51 +0000
Re: StringBuilder.append and CharSequence Sven Köhler <remove-sven.koehler@gmail.com> - 2013-09-27 15:41 +0300
csiph-web