Laurent For�t wrote:

J'ai un StringBuffer auquelle je fais un append d'un autre StringBuffer, ce
qui compile toujours tr�s bien car StringBuffer �tend la classe Object.

Or l'�x�cution est al�atoire en fonction des jre utiliser. Exemple :

StringBuffer buf1 =new StringBuffer("TITI");

StringBuffer buf2 =new StringBuffer("TOTO");

buf1.append(buf2);  //compile mais plante dans certaine jre.

L'une fait ce qu'on lui demande (appelle la m�thode toString() de buf2 et
append � buf1) , une autre me renverra une exception :
java.lang.NoSuchMethodError.

Qui est ce qui a raison ? Qui a un avis sur la question ?

StringBuffer.append(StringBuffer) est nouveau dans le JDK 1.4, d'ou ton erreur.

C'est assez vicieux en fait parce le JDK 1.3 appellera implicitement toString(), donc le resultat apparent est le meme.

C'est un bon exemple de code qui, s'il est compile avec 1.4, echouera si tu l'executes en 1.3 avec un NoSuchMethodException.

--
C�dric
http://beust.com/weblog


Répondre à