Question

Cette question s'appliquerait probablement également à d'autres langages avec des commentaires multilignes de type C.Voici le problème que je rencontre.Je travaille avec du code Java dans Eclipse et je voulais commenter un bloc de code.Cependant, il existe une chaîne qui contient la séquence de caractères "*/", et Eclipse pense que le commentaire doit se terminer là, même s'il se trouve à l'intérieur d'une chaîne.Cela me donne des tonnes d'erreurs et ne parvient pas à construire.

/*
   ... some Java code ...
   ... "... */ ..." ...
   ... more Java code ...
*/

La spécification Java correspond-elle à l'interprétation d'Eclipse de mon commentaire multiligne ?J'aimerais penser que Java et/ou Eclipse expliqueraient ce genre de chose.

Était-ce utile?

La solution

Eclipse a raison.Il n'y a pas de contexte d'interprétation à l'intérieur d'un commentaire (pas d'échappement, etc.).Voir JLS §3.7.

Autres conseils

Dans Eclipse, vous pouvez mettre en surbrillance la partie du code source que vous souhaitez commenter et utiliser Ctrl+/ pour commenter sur une seule ligne chaque ligne de la section en surbrillance - en plaçant un "//" au début des lignes.

Ou si vous voulez vraiment bloquer-commenter la sélection, utilisez la combinaison Ctrl+Shift+/.Il détectera les commentaires bloqués dans votre sélection.Cependant, annuler cela est plus difficile que les commentaires sur une seule ligne.

Oui, je commente le code juste pour faire un test rapide.J'ai déjà testé ce dont j'avais besoin en commentant le code d'une autre manière ;J'étais simplement curieux de savoir ce qui semble être une étrange erreur de Java et/ou d'Eclipse.

Un simple test montre qu'Eclipse a raison :

public class Test {
  public static final void main(String[] args) throws Exception {
    String s = "This is the original string.";
    /* This is commented out.
    s = "This is the end of a comment: */ ";
    */
    System.out.println(s);
  }
}

Cela ne parvient pas à compiler avec :

Test.java:5: unclosed string literal
    s = "This is the end of a comment: */ ";

Il peut être utile de simplement faire un commentaire multiligne "par lots" afin qu'il commente chaque ligne avec "//".C'est Ctrl+"/" dans Idea pour commenter et décommenter les lignes sélectionnées, Eclipse devrait avoir une fonctionnalité similaire.

J'utilise souvent uniquement // pour les commentaires en ligne et utilisez /* */ uniquement pour commenter les gros blocs comme vous l'avez fait.

Beaucoup de développeurs utiliseront encore /* */ pour les commentaires en ligne, car c'est ce qu'ils connaissent, mais ils rencontrent tous des problèmes comme celui-ci, en C cela n'avait pas autant d'importance car vous pouviez #if 0 le des trucs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top