Pergunta

Esta questão provavelmente se aplicaria igualmente a outras linguagens com comentários de várias linhas do tipo C.Aqui está o problema que estou enfrentando.Estou trabalhando com código Java no Eclipse e gostaria de comentar um bloco de código.Porém, existe uma string que contém a sequência de caracteres "*/", e o Eclipse acha que o comentário deve terminar aí, mesmo que esteja dentro de uma string.Isso me dá muitos erros e falha na construção.

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

A especificação Java corresponde à interpretação do Eclipse do meu comentário multilinha?Eu gostaria de pensar que Java e/ou Eclipse seriam responsáveis ​​por esse tipo de coisa.

Foi útil?

Solução

Eclipse está correto.Não há contexto de interpretação dentro de um comentário (sem escape, etc.).Ver JLS §3.7.

Outras dicas

No Eclipse você pode destacar a parte do código-fonte que deseja comentar e usar Ctrl+/ para comentar em uma única linha cada linha na seção destacada - coloca um "//" no início das linhas.

Ou se você realmente deseja bloquear o comentário da seleção, use a combinação Ctrl+Shift+/.Ele detectará os comentários do bloco em sua seleção.No entanto, desfazer isso é mais difícil do que comentários de uma única linha.

Sim, estou comentando o código apenas para fazer um teste rápido.Já testei o que precisava comentando o código de outra maneira;Eu estava apenas curioso sobre o que parece ser um estranho recurso incorreto do Java e/ou Eclipse.

Um teste simples mostra que o Eclipse está correto:

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);
  }
}

Isso falha ao compilar com:

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

Pode ser útil fazer apenas um comentário multilinha em "lote" para que ele comente cada linha com "//".É Ctrl+"/" no Idea para comentar e descomentar as linhas selecionadas, o Eclipse deve ter um recurso semelhante.

Muitas vezes eu uso apenas // para comentários in-line e use /* */ apenas para comentar blocos grandes do jeito que você fez.

Muitos desenvolvedores ainda usarão /* */ para comentários embutidos, porque é com isso que eles estão familiarizados, mas todos eles enfrentam problemas como este, em C isso não importava tanto porque você poderia #if 0 the coisas fora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top