> Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
> list-help: <mailto:[EMAIL PROTECTED]>
> list-unsubscribe: <mailto:[EMAIL PROTECTED]>
> list-post: <mailto:[EMAIL PROTECTED]>
> Delivered-To: mailing list [EMAIL PROTECTED]
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> Subject: RE: String/StringBuffer (was Re: An alternative to JSP)
> X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N
> X-MIME-Autoconverted: from quoted-printable to 8bit by amon.Central.Sun.COM id
KAA15483
>
> > Last paragraph in the java.lang.String javadoc says:
> >
> > The Java language provides special support for the string
> > concatentation operator
> > ( + ), and for conversion of other objects to strings. String
> > concatenation is
> > implemented through the StringBuffer class and its append
> > method. String
> > conversions are implemented through the method toString,
> > defined by Object and
> > inherited by all classes in Java. For additional information
> > on string concatenation
> > and conversion, see Gosling, Joy, and Steele, The Java
> > Language Specification.
>
> And the Java Language Specification (Section 3.10.5: String Literals) says
> this:
>
> "Strings computed by constant expressions (§15.27) are computed at compile
> time and then treated as if they were literals"
>
> http://java.sun.com/docs/books/jls/html/3.doc.html#101083
>
>
> > > Just thought that I would point out that:
> > > "My " + "dog " + "has " + "fleas." will be compiled as one String:
> > > "My dog has fleas." and incurs no runtime penalties. In the case
> >
> > Paul,
> >
> > Actually, my investigations in the past have shown that (at least in
> > Sun's JDK 1.2) this is implemented as:
> >
> > new StringBuffer
> > ("My").append("dog").append("has").append("fleas").toString();
>
> If this is actually the case, Sun's JDK is not in compliance with the spec.
> However, in my tests, this is not the case.
>
> From this class:
>
> public class StringTest {
> static String blah = "My " + "dog " + "has " + "fleas.";
> }
>
> The following is the result from "javap -c StringTest" after compiling:
>
> Compiled from StringTest.java
> public class StringTest extends java.lang.Object {
> static java.lang.String blah;
> static {};
> public StringTest();
> }
>
> Method static {}
> 0 ldc #1 <String "My dog has fleas.">
> 2 putstatic #5 <Field java.lang.String blah>
> 5 return
>
> Method StringTest()
> 0 aload_0
> 1 invokespecial #4 <Method java.lang.Object()>
> 4 return
>
>
Michael,
thanks. I stand corrected.
Arieh
> regards,
> michael
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, email: [EMAIL PROTECTED]
--
Arieh Markel Sun Microsystems Inc.
Network Storage 500 Eldorado Blvd. MS UBRM11-194
e-mail: [EMAIL PROTECTED] Broomfield, CO 80021
Let's go Panthers !!!! Phone: (303) 272-8547 x78547
(e-mail me with subject SEND PUBLIC KEY to get public key)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]