2017-02-22 39 views
-1

Я пытаюсь добавить в свое ArrayList некоторое значение в 2 цифры. В Model class у меня есть getters and setters, constructor и Method ведьма вычисляет две цифры, set и return новый результат. Я понятия не имею, как get результат и add результат в классе ArrayListКак добавить значение из класса модели в ArrayList

Модель:

public class SumOfTwoNumbers { 
private String result; 
private Context context; 

public SumOfTwoNumbers (String result) { 
    this.result = result; 
} 

public SumOfTwoNumbers (int x, int y){ 
    int res = x + y; 
    result = String.valueOf(res); 
    setResult(result); 
} 

public String getResult() { 
    return result; 
} 

public void setResult(String result) { 
    this.result = result; 
} 
} 

В деятельности я сделать что-то вроде этого, и я знаю, что это неправильно:

SumOfTwoNumbers sum = new SumOfTwoNumbers(); 

ArrayList<SumOfTwoNumbers> arrayList = new ArrayList<>(); 
arrayList.add(sum.getResult()); 

Я хотел бы получить результат и добавить его в ArrayList.

Может ли кто-нибудь сказать мне, в чем я должен думать?

Надеюсь, что я хорошо объяснил свою проблему.

Заранее благодарен!

ответ

1

Ваша реализация кажется неправильной. Поскольку класс модели всегда должен быть простым java-текстом. Но здесь вы также сохраняете контекст, который может вызвать утечку памяти.

И в части arrayList вы добавляете только те объекты в массивList, для которых вы сделали список массивов.

ArrayList<SomeClass> list = new ArrayList<>(); 
AnotherClass a = new AnotherClass(); 
list.add(a); // this is completely wrong; 

SomeClass b= new SomeClass(); 
list.add(b); //this is perfectly fine 

Надеюсь, вы получили ответ.

+0

Вы должны были написать это как комментарий, а не ответ! –

+0

Я только что редактировал свой вопрос, надеюсь, теперь я четко объяснил. – lounchy

+0

Извините. но теперь я отредактировал это, чтобы ответить. –

0

Мне сложно понять ваш вопрос, но я думаю, вы хотите создать такой список? (Если метод getResult возвращает целое число)

SumOfTwoNumbers sum = new SumOfTwoNumbers(1,4); 

ArrayList<Integer> arrayList = new ArrayList<>(); 
arrayList.add(sum.getResult());