2020/08/04

[筆記] Effective Java #27 消除 unchecked 警告

Effective Java 3rd 簡體中文版筆記 #27 消除 unchecked 警告
在使用泛型程式碼中,常會遇到編譯器的警告。
  • unchecked cast warning
  • unchecked method invocation warnings
  • unchecked parameterized vararg type warning 
  • unchecked conversion warning
許多泛型警告是容易消除的,要盡量消除每一個 unchecked 警告,如果無法消除,同時可以確定引起警告的程式碼是安全的,可使用 @SuppressWarnings("unchecked") 來禁止警告。SuppressWarnings 可以使用在 class 等級,應盡量小範圍使用,可以用在方法中的變數及 return 上,下面是 ArrayList 中的用法。
// java.util.ArrayList source code
public void forEach(Consumer action) {
    Objects.requireNonNull(action);
    final int expectedModCount = modCount;
    @SuppressWarnings("unchecked")
    final E[] elementData = (E[]) this.elementData;
    final int size = this.size;
    //...
}
轉載請註明原文網址 https://cookieandcoketw.blogspot.com/2020/07/effective-java-27-unchecked-warning.html

沒有留言:

張貼留言