Tôi đang sử dụng gói java.lang.SuppressWarnings
trong Android Studio.Cảnh báo Android Unread Field cảnh báo bằng byte []
tôi không thể thoát khỏi cái này:
EI_EXPOSE_REP2: May expose internal representation by incorporating reference to mutable object (findbugs task)
Nó đang xảy ra với một phương pháp setter.
Bất kỳ ý tưởng nào về cách loại bỏ cảnh báo này? Cảm ơn!
public class PropertyDetailDocumentStorageModel implements Parcelable {
@SerializedName("picture")
private byte[] mPicture;
public void setmPicture(byte[] mPicture) { this.mPicture = mPicture; }
Cảnh báo:
setmPicture(byte[]) may expose internal representation by storing an externally mutable object into PropertyDetailDocumentStorageModel.mPicture
Chú giải này đang xảy ra trên các lĩnh vực duy nhất có loại là byte[]
. Các trường khác trong cùng một lớp có getters không ném cảnh báo này.
Bạn đang cố gắng chặn cảnh báo hoặc giải quyết sự cố trong mã? Nếu đó là sau này, chúng tôi sẽ cần phải xem mã của bạn. –
Tôi muốn tìm cách ngăn chặn cảnh báo bằng @Supress ... hoặc tìm cách khác để cải thiện mã nếu có bất kỳ mã nào? – estoke
Cảm ơn @Thomas, thực sự nó đã có một getter: 'public byte [] getmPicture() {return mPicture.clone(); } 'cảm ơn đã chỉ cho tôi ra quy ước bean cho setter. ('public void setP (T)') Tôi sẽ thử với Arrays.copyOf(). Và điều cuối cùng bạn đề nghị "ngăn chặn cảnh báo", đó chính là điều tôi cần giúp đỡ. Điều gì sẽ là từ khóa cho cảnh báo đó? @SupressWarning ("...?). Cảm ơn! – estoke