2011-12-16 32 views
7

Tôi đã đọc source code of TextView và tôi đã gặp đoạn mã này:Biến Android cuối cùng

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

Vì vậy, ở đó họ xác định mTmpExtracted như cuối cùng, nhưng không mTmpRectF.

Tôi đã đọc số này What does "final" do if you place it before a variable? nơi được phân tích khi nào sử dụng cuối cùng.

Vì vậy, kể từ khi cả hai đối tượng (mTmpRectF & mTmpExtracted) có thể là cuối cùng trong trường hợp cụ thể này, có bất kỳ lý do nào khác (ví dụ: performace, v.v.) mà chỉ có một được đặt thành cuối cùng hoặc nó chỉ là một mã kiểu nhà phát triển?

Cảm ơn!

Trả lời

7

Tôi có thể nói rằng trích xuất đã được đặt thành cuối cùng nên không thể sửa đổi sau khi đã được trích xuất, ở đâu khi trình mã hóa không bị làm phiền nếu hình chữ nhật được sửa đổi.

+0

Vì vậy, ngoại trừ khi được yêu cầu, việc gán cuối cùng cho biến là một loại giới hạn/cảnh báo đối với nhà phát triển rằng anh ấy không nên thay đổi biến này? –

+1

Có tuyên bố rằng đây là trạng thái cuối cùng của nó vì một lý do. – Blundell

Các vấn đề liên quan