IntelliJ IDEA 2021.1 Help

Extract Method Dialog

Refactor | Extract | Method
Ctrl+Alt+M

For the information on how to extract a method and check code examples, refer to the Extract method section.

ItemDescription
NameIn this field, specify the name of the function or method to be generated on the basis of the selected source code.
VisibilityIn this area, specify the visibility scope of the method to be generated.
Declare staticSelect this checkbox to have a static method created.
Generate annotationsThis option inserts inferred @Nullable/ @NotNull annotations to parameters and return types.
Declare varargsSelect this option if you want to declare varargs instead of the array.
Fold parametersSelect this option to fold the parameters, for example, if you have an array, like int[] a = new int[i], and you want a[i] to be passed as a whole to the newly created method.
Extract chained constructorUse this option to extract chained constructor from the constructor body, replacing the original code with this.
Output variable(s)This read-only field displays the name of the variable through which the output of the new method/function will be passed to the calling method/function. Depending on your choice in the Return output variable(s) through area, this variable either will be used in a return statement or will be declared as the passed by reference parameter of the new method/function.
Return output variable(s) throughIn this area, specify the way in which the new method or function will return the output variables to the callee.
  • Return statement- select this option to have the output variables returned by value. If the Output variable(s) read-only field shows exactly one output variable, it will be used as the return value. If the selection outputs several variables, these variables will be returned as an array.

  • Parameter(s) passed by reference- select this option to have the output variables returned by reference. IntelliJ IDEA will generate a method/function without a return statement. Instead, the output variables will be added to the set of input parameters in the method/function declaration. The names of these variables will be prepended with an ampersand &.

ParametersIn this area, select parameters to be passed to the new method/function.
Move Up/DownUse these buttons to change the order of the parameters.
Signature previewIn this read-only field, view the declaration of the new method.
Last modified: 08 March 2021