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

2018-11-07 10:59 更新

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

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

提取功能變量示例

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

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

IntelliJ IDEA

另見函數(shù)參數(shù)重構(gòu)。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號