Вот моя проблема. У меня есть Task и Tasklist.Двунаправленные отношения на Java
public class Task {
private Tasklist task list;
public void setTasklist(Tasklist tasklist) {
// the code
}
}
public class Tasklist {
private List<Task> tasks;
public void addTask(Task task) {}
public void removeTask(Task task) {}
}
То, что я хочу это: Я хочу, чтобы обновить список задач, когда пользователь изменяет TaskList переменных задач
Так что, если я исполню
Tasklist myTasklist = new Tasklist();
Task myTask = new Task();
myTask.setTasklist(myTasklist);
Я хочу, чтобы это ,
myTasklist.getTasks(); // => [myTask]
наоборот, если добавить задачу к моему Tasklist Я хочу, чтобы автоматически обновлять задачи Tasklist ссылающихся
Tasklist myTasklist = new Tasklist();
Task myTask = new Task();
myTasklist.addTask(myTask);
myTask.getTasklist(); // => myTasklist
Я попытался решить эту проблему самостоятельно, но я всегда в конечном итоге с переполнение стека.
Вам необходимо показать код, который дает вам StackOverflowError. –
Нужно ли это быть простой Java? Вы можете создать модель EMF Ecore, которая предоставляет «противоположные ссылки». –
Должны ли задачи разрешаться более чем в одном списке? – Andreas