擷取方法錯誤
在您試著擷取方法時,可能會遇到下列一或多個一般錯誤:
-
所選區塊所參照的是該選項外所宣告的本端類型
本端類型宣告不是該選項中的一部份,但您用以擷取的其中一個陳述式卻會參照該宣告。
請擴充該選項,使其含有本端類型宣告;或縮小該選項,而不要選取該本端類型宣告的任何參照。
-
除了選項外,還有其它會參照所選區塊中所宣告的本端類型
選項有涵蓋本端類型宣告,但除了所選陳述式外,也有其它會參照該類型。
請擴充該選項,使其包含該本端類型的所有參照;或縮小該選項,而不要選取該本端類型宣告。
-
回覆值不明確:在所選區塊中,區域變數有多項指派
在所選區塊內發現區域變數有多項指派。
請縮小選項,以便只選取一項指派;
或擴充選項,讓選項包含所有參照(但不包含區域變數的參照)。
-
回覆值不明確:表示式存取了所選的 local 與 return 陳述式
所選的陳述式產生了多個回覆值。舉例來說,當選取某個表示式,並修改該表示式的引數時,
便會發生此情況。
如果要解決此問題,請擴充選項,使其亦涵蓋所修改之引數的讀取權。
-
選項含有 break 陳述式,但未選取對應的 break 目標
如果要解決此問題,請擴充選項,使其包含 break / continue 目標;
或縮小選項,使其不含 break / continue 陳述式。
-
選項含有 continue 陳述式,但未選取對應的 continue 目標
如果要解決此問題,請擴充選項,使其包含 break / continue 目標;
或縮小選項,使其不含 break / continue 陳述式。
-
無法擷取選項中的新方法。只能擷取最上層方法之主體中的陳述式
這是一般的錯誤訊息,每當選項未大量產生有效的一組陳述式時,便會出現此訊息。
會出現此錯誤訊息的典型情形為:
-
不單選取方法主體中的一部份,而是選取了整個方法
-
選項只涵蓋陳述式中的一部份。擷取方法中的各個陳述式是以分號隔開。
在下列幾項範例中,由於選項未標出一組陳述式因而不會擷取:
-
foo().bar().baz();
如果要解決此問題,請選取整個訊息傳送鏈
-
int i= foo();
擴充選項,使其涵蓋整個宣告
使用者可使用「編輯」功能表中的「展開選項至」,
將選項擴充至一個有效範圍。
-
選項開始於註解內
無法擷取註解內的部份。請擴充該選項,使其涵蓋整個註解;
或縮小該選項,而不要涵蓋註解。
-
選項結束於註解內
無法擷取註解內的部份。請擴充該選項,使其涵蓋整個註解;
或縮小該選項,而不要涵蓋註解。
-
無法擷取在陳述式中段便結束的選項
請調整選項,使其完整涵蓋一組陳述式。擷取方法中的各個陳述式是以分號隔開。
Java 開發工具(JDT)
重新分解因素支援
擷取方法
「使用結構性選項」
「原始檔」功能表
「重新分解因素」功能表