Основываясь на мысли Бенуа, что вы хотите для того чтобы достигнуть, я думаю, что лучший способ использует карту (или ConcurrentMap, если вы хотите резьбовых безопасность):
ConcurrentMap<String, List<String>> myData = new ConcurrentHashMap<>();
Таким образом, вы можете обратиться к любому списку по предоставленному вами идентификатору.
List<String> myList = myData.get(id);
Если вы хотите ограничить аксессоров в списке (например только обеспечивает метод добавления), необходимо инкапсулировать список в классе:
public final class Example {
private final List<String> docs = new ArrayList<>();
public boolean addDoc(final String doc) {
return docs.add(doc);
}
}
И затем использовать карту следующим образом:
ConcurrentMap<String, Example> myData = new ConcurrentHashMap<>();
И добавить документы, как, что:
myData.get(id).addDoc(myDoc);
Надеюсь, это поможет ...
По теме обсуждается в комментариях: Настройка переменных
У вас есть класс вроде этого:
public class Example {
public String var;
}
и экземпляр, как этот
Example ex = new Example();
Вы можете установить значение с
ex.var = "abc";
С Calss как этого
public class Example {
private String var;
public void setVar(String var) {
this.var = var;
}
}
использование
ex.setVar("abc");
Управления нескольких экземпляров:
1) Веб-служба получить информацию с идентификатором
2) Ваш сервер -application хранит карту экземпляров, и вы можете получить к ней доступ через идентификатор (см. пример карты выше). В веб-службы вы звоните
Example ex = ReportHolder.getReport(id);
Предполагая, что класс, как это:
public class ReportHolder {
private static ConcurrentMap<String, Example> map = new ConcurrentMap<>();
public static Example getReport(final String id) {
return map.get(id);
}
}
3) Затем вы можете манипулировать экземпляр.
Убедитесь, что вы правильно поняли термины variable, class, instance и static. Другое дело, будет сложно понять, почему произошла ваша ошибка.
Что вы делаете с помощью своего 'myExample' var? Разве вы не можете вернуть 'myMethod' его? Таким образом, любая * внешняя точка * будет управлять своим собственным экземпляром по мере необходимости. – sp00m
'myExample' имеет локальную видимость в методе' myMethod', он вообще не отображается для внешнего вызова. Или вы планируете иметь 'myExample' как переменную экземпляра или класса? – A4L
Я не уверен, чего вы хотите достичь, используя 'myMethod', почему бы вам просто не вызвать конструктор для создания нового объекта. Я не вижу никакой пользы в использовании этого метода, и кстати. - как упоминалось выше - созданный объект Example не может использоваться вне метода. – Don