How to refactor variable type in Eclipse?

JavaEclipseRefactoring

Java Problem Overview


I want to refactor code like this:

int x=4;
int y=x;
System.out.println(y);

How can i do this automatically in Eclipse so x's type promotion to long would cause dependent variables to change their types also:

long x=4;
long y=x;
System.out.println(y);

?

Java Solutions


Solution 1 - Java

How I usually do is that I change one of the upstream variables to long. This causes Eclipse to give error from each assignment where you offer long instead of int. Then I just select ctrl-1 (Quick-fix) on each of them and pick "change variable x to long".

This works when the new type is not directly assignable to the old one.

Solution 2 - Java

I don't think you can do this directly using the refactoring tool in Eclipse. However, what you can do is place your cursor over the variable x and hit CTRL + SHIFT + G to find all references in your workspace. This will then allow you to change any dependent references.

Solution 3 - Java

IntelliJ has this feature (refactor->type migration), but unfortunately, Eclipse doesn't have it yet. I hope Eclipse will add it soon.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionStepan YakovenkoView Question on Stackoverflow
Solution 1 - JavaZdsView Answer on Stackoverflow
Solution 2 - Javajwir3View Answer on Stackoverflow
Solution 3 - Javauser3578953View Answer on Stackoverflow