2011-12-16 12 views
7

que estaba leyendo la source code of TextView y me encontré este fragmento de código:variables Android finales

RectF mTmpRectF = new RectF(); 
float[] mTmpOffset = new float[2]; 
ExtractedTextRequest mExtracting; 
final ExtractedText mTmpExtracted = new ExtractedText(); 

lo tanto, no se definen mTmpExtracted como final, pero no mTmpRectF.

He leído este What does "final" do if you place it before a variable? donde se analiza cuándo usar el final.

Por lo tanto, dado que ambos objetos (mTmpRectF & mTmpExtracted) podrían ser definitivos en este caso específico, ¿hay alguna otra razón (por ejemplo, rendimiento, etc.) para que solo uno sea definitivo o solo un código de desarrollador?

Gracias!

Respuesta

7

Diría que el texto extraído se ha configurado como final, por lo que no se puede modificar después de haberlo extraído, mientras que el codificador no se molesta si se modifica el rectángulo.

+0

Entonces, ¿excepto cuando se requiere, la asignación final a una variable es un tipo de limitación/advertencia para el desarrollador de que no debería cambiar esta variable? –

+1

Sí, está declarando que este es su estado final por una razón. – Blundell

Cuestiones relacionadas