我正在阅读source code of TextView,我遇到了这段代码:
RectF mTmpRectF = new RectF();
float[] mTmpOffset = new float[2];
ExtractedTextRequest mExtracting;
final ExtractedText mTmpExtracted = new ExtractedText();
因此,他们将mTmpExtracted定义为final,但不是mTmpRectF。
我已阅读此What does "final" do if you place it before a variable?,其中分析了何时使用final。
因此,由于这两个对象(mTmpRectF& mTmpExtracted)在这种特定情况下可能是最终的,是否有任何其他原因(即性能等)只有一个设置为final或者它只是开发人员代码风格? / p>
谢谢!
答案 0 :(得分:7)
我会说已提取的文本已设置为final,因此在提取之后无法对其进行修改,因为如果矩形得到修改,编码器就不会受到干扰。