Les crochets doivent être suivis d'un objet, qui fait office de verrou. synchronized(""), ici vous traitez une chaîne vide comme un verrou, et pensez donc que vous n'avez pas précisé quel objet verrouiller. En fait, la chaîne vide elle-même est un objet. De plus, si vous avez deux instances et que vous les nourrissez chaîne vide, les deux instances contiennent en fait le même objet.
En Java, tout est un objet, et la chaîne vide est aussi un objet.
Les chaînes constantes, telles que les chaînes vides, sont placées dans le pool constant. Les chaînes vides référencées par les deux instances sont en fait les chaînes vides dans le pool constant et sont le même objet.
Les crochets doivent être suivis d'un objet, qui fait office de verrou.
synchronized("")
, ici vous traitez une chaîne vide comme un verrou, et pensez donc que vous n'avez pas précisé quel objet verrouiller.En fait, la chaîne vide elle-même est un objet. De plus, si vous avez deux instances et que vous les nourrissez chaîne vide, les deux instances contiennent en fait le même objet.
En Java, tout est un objet, et la chaîne vide est aussi un objet.
Les chaînes constantes, telles que les chaînes vides, sont placées dans le pool constant. Les chaînes vides référencées par les deux instances sont en fait les chaînes vides dans le pool constant et sont le même objet.