Този въпрос извежда проблемите около кода, като следния (копиран от този въпрос):
public MyClass {
public void initialize(Collection<String> data) {
this.data = data; // <-- Bad!
}
private Collection<String> data;
}
Съхраняването на справка отваря врати към бъгове чрез случайно инжектиране на данни в частното поле data
, Приелият отговор от Аарон Дигюлла предлага политика на замразяване Collection.setUnmodifiable(set);
преди да го предаде, но той споменава, че компромисът е хит на производителността, тъй като всеки, който иска да модифицира колекцията, трябва да го копира, да го промени и след това да го запази обратно.
Има ли някакви добри практики, когато се занимавате с това в изключително ограничени ресурси с ресурси в Android?
Отговори:
3 за отговор № 1По мое мнение, просто запазете препратката. Едно приложение за Android не съдържа прекалено много кодове и вие или вашият екип за управление контролира целия изходен код.