2010-02-18 26 views
148

Làm cách nào để thoát biểu tượng @ trong javadoc? Tôi đang cố gắng sử dụng thẻ này bên trong thẻ {@code}, nằm trong các thẻ <pre>.Làm thế nào bạn có thể thoát khỏi nhân vật @ trong javadoc?

Tôi đã thử trình tự thoát html &#64;, nhưng điều đó không hiệu quả.

+0

Bây giờ nó đã bắt đầu hiển thị tốt sau khi tôi điều chỉnh một số vết lõm bên trong @ {code} chặn! Đây là trong Eclipse nếu nó quan trọng. – JayL

+0

Tôi vẫn không thể làm việc đó –

Trả lời

211

Sử dụng thẻ {@literal} javadoc:

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

Các javadoc cho điều này sẽ đọc:

This is an "at" symbol: @ 

Tất nhiên, điều này sẽ làm việc cho bất kỳ nhân vật, và là "chính thức được hỗ trợ "cách hiển thị bất kỳ ký tự" đặc biệt "nào.

Đây cũng là đoạn đường thẳng nhất - bạn không cần phải biết mã hex của ký tự, bạn có thể đọc những gì bạn đã nhập!

+1

Làm cách nào để thoát khỏi ký hiệu '}'? – ADTC

+1

@ADTC Bạn không thể. Tại sao bạn sẽ muốn? '}' không có ý nghĩa đặc biệt trong html. – Bohemian

+0

Vì vậy, tôi đoán bạn chỉ có thể chia thành hai thẻ 'chữ '. – ADTC

1

Bạn có ý tưởng chung, hãy thử sử dụng các đại diện bát phân: &#064;

+5

Đây không phải là bát phân. – Joey

+0

'' @ '' có codepoint 0x40 trong hệ thập lục phân, là 64 trong số thập phân –

41

Chỉ cần viết nó như một thực thể HTML:

&#064; 

Từ tài liệu "javadoc - The Java API Documentation Generator"

Nếu bạn muốn bắt đầu một dòng có ký tự @ và không được diễn giải, hãy sử dụng thực thể HTML @.

này ngụ ý rằng bạn có thể sử dụng các thực thể HTML cho bất kỳ ký tự mà bạn sẽ cần phải thoát khỏi, và thực sự bạn có thể:

Các văn bản phải được viết bằng HTML với các thực thể HTML và các thẻ HTML . Bạn có thể sử dụng bất kỳ phiên bản HTML nào mà trình duyệt của bạn hỗ trợ. Doclet chuẩn tạo ra mã tuân thủ HTML 3.2 ở nơi khác (bên ngoài các chú thích tài liệu) với sự bao gồm các kiểu khung và khung xếp tầng. HTML 4.0 được ưu tiên cho các tệp được tạo do các bộ khung.

Ví dụ: đối tượng ít hơn ký hiệu (<) và lớn hơn ký hiệu (>) phải được viết là &lt;&gt;. Tương tự, dấu và (&) phải được viết là &amp;.

+0

hoạt động tốt với java6 nhưng không phải với java5 –

+1

Điều này cho thấy theo nghĩa đen trong Eclipse. –

+5

Điều này dường như không hoạt động trong JDK1.8 –

5

giải pháp của tôi là

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

Chỉ có điều hoạt động bên trong '{@ code' với Java 8. – Alex

Các vấn đề liên quan