การรวมคำอธิบายประกอบ @SuppressWarnings หลายรายการ - Eclipse Indigo


149

ดังนั้นปัญหาจะสามารถรวมการยับยั้งการเตือนแบบหลายรายการเพื่อให้แต่ละรายการไม่จำเป็นต้องใช้@SuppressWarningsคำอธิบายประกอบของตัวเอง

ตัวอย่างเช่น:

public class Example
    public Example() {
        GO go = new GO();  // unused
        ....
        List<String> list = ( List<String> ) go.getList(); // unchecked
    }
    ...
    // getters/setters/other methods
}

ตอนนี้แทนที่จะมีสอง@SuppressWarningsฉันต้องการที่จะมีหนึ่งที่ระดับชั้นสำหรับคำเตือนทั้งสองดังนั้นเช่นนี้

@SuppressWarnings( "unused", "unchecked" )
public class Example
    public Example() {
        GO go = new GO();  // unused - suppressed
        ....
        List<String> list = ( List<String> ) go.getList(); // unchecked - suppressed
    }
    ...
    // getters/setters/other methods
}

แต่นั่นไม่ใช่ไวยากรณ์ที่ถูกต้องมีวิธีทำเช่นนี้หรือไม่


@SuppressWarnings ("ไม่ได้ใช้", "ไม่ได้ตรวจสอบ") ไม่ทำงานโปรดแก้ไขเป็น @SuppressWarnings ({"ไม่ได้ใช้", "ไม่ได้ตรวจสอบ"})
Raj

คำตอบ:


304

ใช้สิ่งต่อไปนี้: @SuppressWarnings({"unused", "unchecked"})


นี่คือการประชุมปกติสำหรับหมายเหตุทั้งหมดใน Eclipse หรือไม่
knownasilya

1
ไม่นี่ใช้สำหรับพารามิเตอร์รายการ เมื่อใช้ SDK เพื่อเรียกใช้ Eclipse (หรือเมื่อติดตั้งซอร์ส Java) คุณสามารถกด F3 ในการเพิ่มความคิดเห็นใด ๆ เพื่อดูการประกาศแหล่งที่มาดังนั้นยังเห็นจำนวนพารามิเตอร์ (และที่) ที่ต้องการ
Bananeweizen

8
String[] value()ที่จะเป็นอาร์เรย์ในขณะที่ รายการไม่มีไวยากรณ์พิเศษใน Java แต่สามารถกำหนดอาร์เรย์ได้โดยใช้เครื่องหมายปีกกา
Maarten Bodewes

14

หากคุณดูในหมายเหตุประกอบคุณจะเห็นสิ่งนี้:

public @interface SuppressWarnings {
    String[] value();
}

ตามที่คุณเห็นพารามิเตอร์valueคืออาร์เรย์ของ Strings ... ดังนั้นพารามิเตอร์ในการเพิ่มความคิดเห็นสามารถเป็น: value1, value2 หรือ value3 โดยที่

final String[] value1 = { "a1" };
final String[] value2 = { "a1", "a2" };
final String[] value3 = { "a1", "a2", "a3" };

เช่น:

@SuppressWarnings({"unused"})
@SuppressWarnings({"unused", "javadoc"})

คุณไม่สามารถเห็นสิ่งที่ต้องการ

@SuppressWarnings("unused") 

และนี่เป็นกรณีพิเศษที่อนุญาตให้องค์ประกอบหนึ่งไม่มี " {} "

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