정확히 어디에서 주석을 가져야하는지 알고 싶습니다. 온라인에서 예제를 찾는 것처럼 보이지 않는 키워드를 사용해야합니까? 메소드는 null를 돌려줍니다 -클래스에 대한 불변성을 Java 문서화하는 방법은 무엇입니까?
/**
* @invariant invariant example
*/
public class Example {
}
정확히 어디에서 주석을 가져야하는지 알고 싶습니다. 온라인에서 예제를 찾는 것처럼 보이지 않는 키워드를 사용해야합니까? 메소드는 null를 돌려줍니다 -클래스에 대한 불변성을 Java 문서화하는 방법은 무엇입니까?
/**
* @invariant invariant example
*/
public class Example {
}
은 몇 가지 예
@Contract ("-> 널 (null)이 _는 null")
@Contract 주석
몇 possibilites있다 두 번째 인수가 null 인 경우
@Contract ("_, 널 (null) -> 널 !! _, 널 (null) -> 널 (null)") - 두 번째 인수가 null의 경우, 그렇지 않으면 - null가 아닌 경우 메소드는 null를 돌려줍니다.
@Contract ("true -> fail") - true가 전달되면 예외를 throw하는 일반적인 assertFalse() 메서드 .
은 자세한 내용은 https://www.jetbrains.com/help/idea/2016.2/contract-annotations.html를 참조하십시오.
IntelliJ IDEA 없이도 사용할 수 있습니다. IDEA는 이러한 특수 효과를 현명하게 지원합니다. 지정된 불변 조건이 실제로 충족되면 메서드 코드를 검사합니다.
이 방법은 모든 경우를 다루지는 않습니다. 필드 간의 더 복잡한 의존성을 위해서는 영어 단어를 사용하는 불변성을 설명해야합니다. 예를 들어
, 맵이 이전에 키에 대한 매핑이있는 경우 https://docs.oracle.com/javase/7/docs/api/java/util/Map.html#put(K,%20V)
는, 낡은 값은 지정된 값으로 대체됩니다.
Map.put
방법을 위해 우리는 (불변 클래스를 끊을 인수) 유효하지 않은 인수에 대한 예외
- @throws UnsupportedOperationException를 올리기 작업 이지도에 의해 지원되지 않는 경우
- @throws 다음 한 ClassCastException - 지정된 키 또는 값의 클래스가이 맵에 포함되는 것을 막는 경우
- @throws NullPointerException - 지정된 키 또는 값이 null 인 경우(210),이 맵이 null 키를 허가 또는 지정된 키 또는 가치가있는 특성이 원인으로,이 맵에 포함 할 수없는 경우
- @throws 예외 : IllegalArgumentException 값하지 않습니다
보편적 인 기준은 없다 그것을하는 방법. –