Here is an example showing how to use "Infer Generic Type Arguments" in eclipse:
Declare a generic class first
//GenericFoo.java public class GenericFoo<T> { private T foo; public void setFoo(T foo) { this.foo = foo; } public T getFoo() { return foo; } }
Then create an instance without specifying a type and do unnecessary type casting.
// GenericFooUsage.java before refactoring public class GenericFooUsage { public GenericFooUsage() { GenericFoo foo1 = new GenericFoo<Boolean>(); foo1.setFoo(new Boolean(true)); Boolean b = (Boolean)foo1.getFoo(); } }
After applying "Infer Generic Type Arguments", the code is reorganized as:
// GenericFooUsage.java after refactoring public class GenericFooUsage { public GenericFooUsage() { GenericFoo<Boolean> foo1 = new GenericFoo<Boolean>(); foo1.setFoo(new Boolean(true)); Boolean b = foo1.getFoo(); } }
So, what is the "Infer General Argument Arguments":
- automatically displays the type of general arguments.
- remove unnecessary type casting.

Brian
source share