Acabo de encontrar este interesante mensaje del compilador y no sé por qué está sucediendo. Aquí es el casoCasting to Button es redundante - ¿Por qué?
Ejemplo 1.
Button test = (Button) findViewById(R.id.someButtonId);
test.setOnClickListener(this);
Ejemplo 2.
findViewById(R.id.someButtonId).setOnClickListener(this);
En el primer ejemplo, necesito emitir un objeto devuelto por findViewById
-Button
. En el segundo ejemplo, no tengo que lanzar el objeto devuelto porque no usé otro objeto de clase Button
. Si trato para su emisión a través de
((Button)findViewById(R.id.someButtonId)).setOnClickListener(this);
voy a conseguir la advertencia Casting findViewById(R.id.someButtonId) to Button is redundant
.
¿Por qué sucede esto? No estoy tratando de eliminar la advertencia de lanzamiento. Quiero saber la lógica detrás de este y por qué no es necesario el lanzamiento si no intento inicializar otro objeto con el objeto devuelto por findViewById
.
http://stackoverflow.com/questions/3502690/remove-redundant-casts-in-java –
@Samir Sé cómo eliminarlo :). No necesito eso. Pregunto ** por qué ** no es necesario el casting. – sandalone
:(no obtengo la advertencia – Triode