IntelliJ IDEA 14.1.0 Help

Type Migration

The Type Migration refactoring allows you to automatically change a member type (e.g. from integer to string), and data flow dependent type entries, like method return types, local variables, parameters etc. across the entire project. It also lets automatically convert variable or method return type between arrays and collections. If any conflicts are found IntelliJ IDEA warns you about them.


f: int -> String

Before After
int f; {}
String f; void bar(String i) {} void foo() { bar(f); }

I<String> -> I<Integer>

Before After
interface I<T> { nts I<String> { ring; ng foo(final String s) { = null) { urn myString; s;
interface I<T> { nts I<Integer> { tring; ger foo(final Integer s) { = null) { urn myString; s;

myResult: ArrayList<String> -> String[]

Before After
public class ResultContainer { ayList<String> myResult; ng[] getResult() { myResult.toArray(new String[myResult.size()]);
public class ResultContainer { ing[] myResult; ng[] getResult() { myResult;

To change a type

  1. Place the caret on the type to be refactored in the editor.
  2. On main menu, choose Refactor | Type Migration, or press Ctrl+Shift+F6.
  3. In the Type Migration dialog box, specify the new type and scope where to look for the usages.
  4. Click Preview and review the items that will be affected. If needed, exclude usages from refactoring. To do that, right-click usage in the Type Migration Preview and select Exclude. When done, click Migrate.

See Also

Last modified: 24 March 2015
comments powered by Disqus