Все объекты гарантированно имеют метод .equals()
, поскольку Object содержит метод, .equals()
, который возвращает логическое значение. Задача подкласса переопределять этот метод, если требуется дополнительное определение определения. Без него (т. Е. Используя ==
) только адреса памяти проверяются между двумя объектами для равенства. String переопределяет этот метод .equals()
и вместо использования адреса памяти возвращает сравнение строк на уровне символа для равенства.
Ключевое замечание состоит в том, что строки хранятся в одном пуле, поэтому после создания строки он всегда хранится в программе по тому же адресу. Строки не меняются, они неизменяемы. Вот почему это плохая идея использовать регулярную конкатенацию строк, если у вас есть серьезное количество обработки строк. Вместо этого вы будете использовать предоставленные классы StringBuilder
. Помните, что указатели на эту строку могут измениться, и если вам было интересно увидеть, были ли два указателя одинаковыми ==
, это был бы прекрасный способ. Строки сами не делают.
Я думаю, что можно использовать HTMLDOC для преобразования сгенерированных файлов HTML в единственный файл HTML. (Я не попробовал его сам),
Руководство включает следующий пример для генерации HTML из двух исходных файлов HTML:
htmldoc --book -f output.html file1.html file2.html
Но существует также gui.
Я не думаю, что существует опция, которая произведет вывод как единственный файл HTML, но вывод RTF может подойти при необходимости в доступном для редактирования выходном формате (я не попробовал это сам, таким образом, я не знаю, как хорошо это работает).
Если Вы хотите хорошее качество печатаемый вывод, то Doxygen может произвести ЛАТЕКСНЫЙ формат (набор GENERATE_LATEX
кому: YES
в Вашем doxygen конфигурационном файле). Это может затем быть преобразовано в PDF, хотя необходимо будет установить ЛАТЕКСНОЕ распределение, такое как MiKTeX.