Bagaimana Anda bisa keluar dari karakter @ di javadoc?

180

Bagaimana saya bisa lepas dari @simbol di javadoc? Saya mencoba menggunakannya di dalam {@code}tag, yang di dalam <pre>tag.

Saya sudah mencoba urutan html melarikan diri &#64;, tetapi itu tidak berhasil.

JayL
sumber
Sekarang sudah mulai menampilkan baik-baik saja setelah saya menyesuaikan beberapa lekukan di dalam blok @ {code}! Ini ada di Eclipse jika itu penting.
JayL
Saya masih belum bisa membuatnya bekerja
Neil Benn

Jawaban:

267

Gunakan {@literal}tag javadoc:

/**
 * This is an "at" symbol: {@literal @}
 */

Javadoc untuk ini akan membaca:

This is an "at" symbol: @

Tentu saja, ini akan berfungsi untuk setiap karakter, dan merupakan cara "didukung secara resmi" untuk menampilkan karakter "khusus".

Ini juga yang paling mudah - Anda tidak perlu tahu kode hex karakter, dan Anda dapat membaca apa yang Anda ketikkan!

Bohemian
sumber
1
Bagaimana Anda bisa lolos dari }simbol?
ADTC
1
@ADTC Kamu tidak bisa. Mengapa kamu mau? }tidak memiliki arti khusus dalam html.
Bohemian
Jadi saya kira Anda hanya dapat membaginya menjadi dua literaltag.
ADTC
23
Saya terkejut ini diterima dan terpilih. Premis dari pertanyaan: di dalam tag {@code} . {@literal} tidak berfungsi di dalam tag {@code}.
Daniel C. Sobral
6
Menghilangkan {dan hanya menggunakan @literal @karya di dalam {@code}tag.
Brad Turek
55

Cukup tulis sebagai entitas HTML:

&#064;

Dari dokumen " javadoc - The Java API Documentation Generator "

Jika Anda ingin memulai sebuah baris dengan karakter @ dan tidak menafsirkannya, gunakan entitas HTML @.

Ini menyiratkan bahwa Anda dapat menggunakan entitas HTML untuk karakter apa pun yang perlu Anda hindari, dan memang Anda bisa:

Teks harus ditulis dalam HTML dengan entitas HTML dan tag HTML. Anda dapat menggunakan versi HTML mana pun yang didukung browser Anda. Doclet standar menghasilkan kode yang sesuai dengan HTML 3.2 di tempat lain (di luar komentar dokumentasi) dengan dimasukkannya cascading style sheets dan frames. HTML 4.0 lebih disukai untuk file yang dihasilkan karena set frame.

Misalnya, entitas untuk kurang dari simbol (<) dan lebih besar dari simbol (>) harus ditulis sebagai &lt;dan &gt;. Demikian pula, ampersand (&) harus ditulis sebagai &amp;.

Frank V
sumber
Ini bekerja lebih baik daripada ekspresi literal ketika tidak diikuti oleh spasi (ketika menulis anotasi misalnya)
Bludwarf
8

solusi saya adalah

/**
 * Mapper Test Helper.
 *
 * add the following annotations above the class
 * <pre>{@code
 * // junit5
 * @literal @ExtendWith(SpringExtension.class)
 * // junit4
 * @literal @RunWith(SpringRunner.class)
 * }</pre>
 */
Yeongjun Kim
sumber
2

Anda mendapat ide umum, coba gunakan representasi oktal: &#064;

Yuval Adam
sumber
6
Ini bukan oktal.
Joey
@memiliki titik kode 0x40 dalam heksadesimal, yaitu 64 dalam desimal
Binkan Salaryman