IntelliJ IDEA提取函數(shù)變量

2018-11-07 10:59 更新

IntelliJ IDEA 可以讓你提取一個(gè)函數(shù)類型變量。

這個(gè)重構(gòu)為 Java 1.8 及更高版本創(chuàng)建了一個(gè)函數(shù)表達(dá)式,并為舊版本的 Java 創(chuàng)建了一個(gè)匿名類。

提取功能變量示例

提取功能變量重構(gòu)前:

import java.util.List;
public class PrintAction implements Runnable {
    private List<String> data;

    public PrintAction(List<String> data) {
        this.data = data;
    }
    public void run() {
        System.out.println("Data: " + data.toString());
    }
}

提取功能變量重構(gòu)后:

import java.util.List;
import java.util.function.Function;

public class PrintAction implements Runnable {
    private List<String> data;
    public PrintAction(List<String> data) {
        this.data = data;
    }
    public void run() {
        Function<List<String>, String> presenter = (p) -> "Data: " + p.toString();
        System.out.println(presenter.apply(data));
    }
}

提取函數(shù)變量

  1. 在本例中選擇代碼片段,println 方法的一個(gè)參數(shù)。
    IntelliJ IDEA
  2. 在主菜單中選擇:重構(gòu)| 提取| 函數(shù)變量。IntelliJ IDEA 打開(kāi) "提取函數(shù)變量" 對(duì)話框。
    IntelliJ IDEA
  3. 當(dāng)選擇的代碼依賴于實(shí)例字段時(shí) (如示例中所示),將會(huì)出現(xiàn) "將字段作為參數(shù)傳遞" 復(fù)選框,并且您可以在字段的位置中傳遞一個(gè)形參。
    IntelliJ IDEA 
    但是,例如,如果您選擇的代碼片段取決于任何本地變量或參數(shù)
    IntelliJ IDEA 
    相應(yīng)的條目將出現(xiàn)在列表中。
    IntelliJ IDEA 
    當(dāng)您取消選擇對(duì)話框中的某個(gè)參數(shù)時(shí),將使用相應(yīng)的本地。
    IntelliJ IDEA 
    配置您的選項(xiàng),然后單擊“確定”。
  4. 從彈出窗口中選擇適用的功能界面。
    IntelliJ IDEA
  5. 如果你想,如果你不想使用列表中建議的名字,改變解壓變量的名字。
    IntelliJ IDEA

因此,IntelliJ IDEA 會(huì)創(chuàng)建一個(gè)您可以繼續(xù)使用的 lambda。

IntelliJ IDEA

另見(jiàn)函數(shù)參數(shù)重構(gòu)

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)