Этот вопрос, вероятно, применялся бы одинаково хорошо к другим языкам с подобными C многострочными комментариями. Вот проблема, с которой я встречаюсь. Я работаю с кодом Java в Eclipse, и я хотел прокомментировать блок кода. Однако существует строка, которая содержит последовательность символов "* /", и Eclipse думает, что комментарий должен закончиться там, даже при том, что это в строке. Это дает мне тонны ошибок и сбоев для создания.
/*
... some Java code ...
... "... */ ..." ...
... more Java code ...
*/
Спецификация Java соответствует интерпретации Eclipse моего многострочного комментария? Я хотел бы думать, что Java и/или Eclipse будут составлять этот вид вещи.
Eclipse корректен. Нет никакого контекста интерпретации в комментарии (никакой выход, и т.д.). См. JLS §3.7.
В Eclipse можно выделить часть исходного кода, который Вы хотите прокомментировать и использовать Ctrl +/для одной строки, комментируют, что каждая строка в выделенном разделе - помещает "//" в начале строк.
Или если Вы действительно хотите к комментарию блока использование выбора Ctrl+Shift +/комбинация. Это обнаружит комментарии блока в Вашем выборе. Однако отмена этого более трудна, чем однострочные комментарии.
Простой тест показывает, что Eclipse корректен:
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);
}
}
Этому не удается скомпилировать с:
Test.java:5: unclosed string literal
s = "This is the end of a comment: */ ";
Я часто использую только //
для встроенных комментариев и использования /* */
только для того, чтобы прокомментировать большие блоки путем Вы имеете.
Много разработчиков будет все еще использовать/* */для встроенных комментариев, потому что это - то, с чем они знакомы, но они все сталкиваются с проблемами как этот, в C он не имел значения так же, потому что Вы могли #if 0 материал далеко.
Я могу быть услужливым, чтобы просто сделать "пакетный" многострочный комментарий так, чтобы он прокомментировал каждую строку с "//". Это - Ctrl + "/" в Идее для комментария и некомментария выбранных строк, Eclipse должен иметь подобную функцию.
Да, я комментирую код только, чтобы сделать быстрый тест. Я уже протестировал то, что я должен был путем комментирования кода иначе; мне было просто любопытно на предмет того, что, кажется, нечетная ошибка Java и/или Eclipse.