Nothing wrong in this. this keyword refers the current object and it is used to differentiate the local variable and instance variable. The value of local variable can be assigned into instance variable likewise, the vice verse also possible. That means we can assign the value of instance variable into a local variable.
refer the chapter 4.12.3 Kinds of Variables from http://docs.oracle.com/javase/specs/jls/se7/jls7.pdf (page 80). The example also given here.
**Example 4.12.3-1. Different Kinds of Variables**
class Point {
static int numPoints; // numPoints is a class variable
int x, y; // x and y are instance variables
int[] w = new int[10]; // w[0] is an array component
int setX(int x) { // x is a method parameter
int oldx = this.x; // oldx is a local variable
this.x = x;
return oldx;
}
}