วิธี @ ลิงก์ไปยังค่า Enum โดยใช้ Javadoc


121

เมื่อใช้ Javadoc 1.5 ฉันไม่สามารถสร้างลิงก์ @ ไปยังค่าการแจงนับได้

สิ่งที่ฉันต้องการจะทำคือสร้าง Enum แบบนี้:

public enum Planet { 

/**
* MERCURY is a fun place.
*/
MERCURY, 

/**
* VENUS is more fun.
*/
VENUS, 

/**
* But nothing beats the Earth.
*/
EARTH,

/**
* Others we know nothing about.
*/ 
OTHERS
}

จากนั้นอ้างถึง Javadoc for Earth โดยใช้ลิงก์ดังนี้:

{@link Planet.EARTH}

ฉันได้ลองใช้{@link Planet#EARTH}สไตล์นี้แล้ว แต่ก็ไม่มีประโยชน์

ใครรู้ว่าสิ่งนี้ทำได้หรือไม่?

คำตอบ:


197

#สไตล์การทำงานสำหรับฉัน:

{@link Planet#EARTH}

ที่สำคัญคือPlanetต้องนำเข้าบรรจุภัณฑ์หรือPlanetต้องมีคุณสมบัติครบถ้วนนั่นคือ:

{@link com.yourpackage.Planet#EARTH}

ตามที่ sfussenegger ระบุไว้ Eclipse จะจัดการการนำเข้าให้คุณ
aperkins

ขอบคุณทั้งสองคำตอบที่เป็นประโยชน์! ฉันทำให้มันใช้งานได้โดยใช้ข้อมูลอ้างอิงที่มีคุณสมบัติครบถ้วน บางครั้งเอาต์พุตของคอมไพเลอร์ก็ไม่เป็นประโยชน์ในการระบุว่าปัญหาคืออะไร ...
Christer Fahlgren

3
จะเกิดอะไรขึ้นถ้า enum ถูกกำหนดภายในคลาส A และมีคนพยายามอ้างอิงค่าหนึ่งจาก javadoc คลาส B? ฉันไม่พบว่า A.Planet # EARTH หรือ A # Planet # EARTH ทำงานสำหรับ OpenJDK 1.6 อัปเดต 24 javadoc แม้ว่า eclipse จะรู้ว่าจะค้นหาการประกาศด้วยสไตล์ A.Planet # EARTH ก็ตาม
Stevo Slavić

น่าเสียดายที่ไม่ได้ผลหากคุณมีการนำเข้า enum แบบคงที่ อย่างน้อยในความคิดของ intellij ไม่มีวิธีใดที่จะใช้ enum ที่นำเข้าแบบคงที่ใน javadoc เว้นแต่คุณจะใช้ชื่อ enum ที่มีคุณสมบัติครบถ้วนกับแพ็คเกจเป็นต้น
dhblah

6

ฉันใช้ Eclipse เพื่อตรวจสอบสิ่งนี้ แต่

{@link Planet#EARTH}

สไตล์ดูเหมือนจะทำงาน อย่างไรก็ตามฉันมักจะชอบ

@see Planet#EARTH

อย่างไรก็ตาม. ไม่แน่ใจว่า Eclipse ใช้อะไรสร้าง Javadoc แต่ฉันใช้ JDK6 ถึงกระนั้น @see อาจเป็นเคล็ดลับสำหรับคุณ


4
ฉันชอบ@seeแต่บางครั้งคุณก็ต้องการกรณีพิเศษ ตัวอย่างเช่นคำสั่งซื้อของฉันมีisWithdrawn()วิธีการและฉันพูดโดยเฉพาะว่า@return true if the status of this order is equal to OrderStatus#WITHDRAWN, false otherwise
corsiKa

2

ตราบเท่าที่นำเข้าคุณสามารถเชื่อมโยงได้ (แต่เมื่อคุณทำเช่นนี้ IMO จะทำให้การนำเข้ายุ่ง - สิ่งที่ใช้ในรหัสและสิ่งที่อยู่ใน javadoc ฉันชอบใช้ชื่อที่มีคุณสมบัติครบถ้วน)

แต่ใช่ว่า Eclipse จะดูแลได้ทั้งหมดและเป็นมาตรฐาน

{@link Planet#EARTH}

ใช้งานได้ดี

หากคุณใช้ Eclipse, Ctrl + Shift + O (บนพีซี) หรือ Cmd + Shift + O (บน Mac) จะปรับการนำเข้าของคุณโดยอัตโนมัติ (ซึ่งหมายความว่าหากคุณไม่ได้ใช้การนำเข้าเพิ่มเติมจะถูกลบออกเช่นเดียวกับการเพิ่ม การนำเข้าที่คุณต้องการ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.