Używam pakietu java.lang.SuppressWarnings
w Android Studio.Wstrzymaj Ostrzeżenie nieprzeczytanego pola z bajtem []
nie mogę pozbyć się tego:
EI_EXPOSE_REP2: May expose internal representation by incorporating reference to mutable object (findbugs task)
To się dzieje z metody setter.
Wszelkie pomysły na pozbycie się tego ostrzeżenia? Dzięki!
public class PropertyDetailDocumentStorageModel implements Parcelable {
@SerializedName("picture")
private byte[] mPicture;
public void setmPicture(byte[] mPicture) { this.mPicture = mPicture; }
Ostrzeżenie:
setmPicture(byte[]) may expose internal representation by storing an externally mutable object into PropertyDetailDocumentStorageModel.mPicture
Uwaga to dzieje się na boisku tylko, którego typ jest byte[]
. Inne pola w tej samej klasie, które mają gettery, nie rzucają tego ostrzeżenia.
Czy próbujesz ukryć ostrzeżenie lub rozwiązać problem w kodzie? Jeśli to drugie, musielibyśmy zobaczyć twój kod. –
Chcę znaleźć sposób, aby zatrzymać ostrzeżenie za pomocą @Supress ... lub znaleźć inny sposób poprawy kodu, jeśli jest jakiś? – estoke
Dzięki @Thomas, faktycznie ma getter: 'public byte [] getmPicture() {return mPicture.clone(); } 'dzięki za wskazanie mi konwencji fasoli dla setera. ('public void setP (T)') Dam to spróbować z Arrays.copyOf(). I ostatnia rzecz, którą sugerujesz, aby "powstrzymać ostrzeżenie", do czego dokładnie potrzebuję pomocy. Jakie będzie słowo kluczowe dla tego ostrzeżenia? @SupressWarning ("...?). Dzięki! – estoke