여러 @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 ( "unused", "unchecked")가 작동하지 않으면 @SuppressWarnings ({ "unused", "unchecked"})로 수정하십시오
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();
}

당신이 보는대로 주석의 매개 변수가 될 수 있도록 매개 변수는 ... 문자열의 배열입니다 : 값 1, 값 또는 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.