3
我知道有大量關於@NonNull
註釋的主題已經被使用,但是其中大多數都是過時的了,因爲Java 8已經存在,這意味着API不再發生變化。@NonNull註釋可以在運行時最終在java 8中使用嗎?
這個問題的事實,Annotations on Types現在的Java的一部分,進一步合理8.
所以我想下面的代碼:
public BaseChecker(final @NonNull File directory, final @NonNull Consumer<File> fileConsumer) {
this.directory = directory;
this.fileConsumer = fileConsumer;
}
我有兩個問題:
- 這種語法可能嗎?
@NonNull
終於在運行時工作嗎?
隨着運行時間的工作我的意思是:
- 如果
Object value
註解,那麼它應該拋出一個NullPointerException
當且僅當value == null
。 - 此行爲類似於
Objects.requireNonNull(value)
。
你會在運行時期望這樣一個註解嗎? – fge
@fge我希望它會拋出一個'NullPointerException異常'對象'== null',類似'T Objects.requireNonNull(T)'的工作方式。 – skiwi
好的,但堆棧跟蹤元素需要指向某處可執行文件,並且方法聲明不是... – fge