컴파일러 finally는이 예제 에서 블록에 대한 경고를 생성합니다 . 때 int메소드가 호출되며, 이것은 0의 값을 반환하는 finally블록이 실행되면 try블록 종료. 이 예에서 컨트롤이 catch블록으로 전송 되면 int메서드가 종료됩니다. 그러나 finally컨트롤이 메서드 외부로 전송 되었더라도 블록이 실행되어야하므로 실행됩니다.
warning: [override] varargsMethod(String[]) in ClassWithOverridingMethod overrides varargsMethod(String...) in ClassWithVarargsMethod; overriding method is missing '...'
위에서는 String… 과 String[]는 틀린것이기 때문에 경고가 나옴
path : 명령 행에서 유효하지 않은 경로 요소와 존재하지 않는 경로 디렉토리 (클래스 경로, 소스 경로 및 기타 경로와 관련하여)에 대해 경고합니다.
warning: [processing] No processor claimed any of these annotations: Anno
rawtypes : rawtypes에 사용에 대한 경고를 합니다.
경고가 나옴
1 2 3
voidcountElements(List l) { ... }
경고가 않나옴
1 2 3
voidcountElements(List<?> l) { ... }
Serial : serializable classes에서 serialVersionUID 를 정의하지 않으면 경고가 나온다
1 2 3 4 5 6 7 8 9 10 11 12 13 14
publicclassPersistentTimeimplementsSerializable { private Date time; publicPersistentTime() { time = Calendar.getInstance().getTime(); } public Date getTime() { return time; } }
경고
1 2
warning: [serial] serializable class PersistentTime has no definition of serialVersionUID