compiled on a JDK 1.4, sb1.append(sb2) will not work on java 1.3 JRE : it requires append(StringBuffer). compiled on a JDK 1.3, it is equivalent to a toString() call as append(Object) method is used by compiler. It will work on all JRE but will be non-optimal on JDK 1.4

Only two versions of the jar may solve this issue, or some JDK compatibility test :
<pseudo-code>
final static boolean jdk13 = System.getProperty("|java.vm.version"|).startWith("1.3");

if (jdk13) {
   stb1.append(stb2.toString());
} else {
   stb1.append(stb2);
}
</pseudo-code>

AFAIK, this code, compiled using JDK 1.4 will run under Java 1.3 without noSuchMethodException AND uses Java1.4 Stringbuffer optimizations

sebb a écrit :
On 22/05/06, Nicolas De Loof <[EMAIL PROTECTED]> wrote:


>> It is supported in jdk1.3.. Just cast the stringbuffer passed in to
>> an object, so like
>> StringBuffer.append((Object) StringBuffer)). Much more efficient than
>> an if...
>>
>
> Surely a StringBuffer is already an Object?
>
> Or am I missing something here?
>
StringBuffer has a new method in Java 1.4 to append another Stringbuffer
without invoking it's toSring() method.
Code that uses StringBuffer.append(stb) and compiled by a JDK 1.4 will
not work on Java 1.3.
I miself recommand Using  "StringBuffer.append(stb.toString())" that
looks better than an apparently useless (Object) cast : checkstyle or
IDE may warn for unecessary cast.

But that won't work so well on Java 1.4+.

Can't one just use:

sb1.append(sb2);

for both 1.3 and 1.4, and let the method do the work as needed?

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



This message contains information that may be privileged or confidential and is 
the property of the Capgemini Group. It is intended only for the person to whom 
it is addressed. If you are not the intended recipient,  you are not authorized 
to read, print, retain, copy, disseminate,  distribute, or use this message or 
any part thereof. If you receive this  message in error, please notify the 
sender immediately and delete all  copies of this message.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to