사용자 정의 객체의 Arraylist는 다른 사용자 정의 객체의 arraylists를 포함 할 수 있습니까? 어떻게 작동할까요?사용자 정의 객체의 Arraylist는 다른 사용자 정의 객체의 arraylists를 포함 할 수 있습니까?
내가 시도 :
public class BankAccount {
private String mTitle;
private float mBalance;
private ArrayList<sE> mHistory;
public BankAccount(String title) {
mTitle = title;
mPrefFile = null;
mBalance = 0;
mHistory = new ArrayList<>();
}
public void changeBalance(float newBalance) {
mBalance = newBalance;
}
public String getTitle() {
return mTitle;
}
public String getPrefFile() {
return mPrefFile;
}
public float getBalance() {
return mBalance;
}
public ArrayList<sE> getHistoryArrayList() {
return mHistory;
}
public void addToHistoryArrayList(String Title, Boolean IsEarning, float Amount) {
mHistory.add(new sE(Title, IsEarning, Amount));
}
//sE stands for Spending/Earning
public class sE {
private String mTitle;
private Boolean mIsEarning;
private float mAmount;
public sE(String Title, Boolean IsEarning, float Amount) {
mTitle = Title;
mIsEarning = IsEarning;
mAmount = Amount;
}
public String getTitle() {
return mTitle;
}
public Boolean getIsEarning() {
return mIsEarning;
}
public float getAmount() {
return mAmount;
}
}
}
그러나 역사의 배열에 셀레늄 개체를 추가하려고 할 때 그것이 나에게 오류를 제공합니다
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.util.ArrayList.add(java.lang.Object)' on a null object reference
내가 그 문제를 해결할 수 있습니까? 어떤 도움을 주셔서 감사합니다!
mHistory = new ArrayList <>() 객체를 추가 할 수 있습니다. – isaace
새로운 sE 객체를 추가하려고 할 때 ArrayList가 null임을 나타냅니다. 이미 생성자에서 ArrayList를 초기화했기 때문에 의미가 없습니다. 이 코드가 완전한 코드라고 확신합니까? 그 이상의 코드는 없습니다. ArrayList가 귀하의 코드에서 null이되는 곳. –
나는 BankAccount Objects의 arraylist를 가지고 있는데, gson과 json과 sharedpreferences에 저장한다. 내가로드하고 그것에 쓰고 하나의 활동에 arraylist를 저장하면 은행 계좌 객체를 현재 은행 계좌 객체의 sE (History) Arraylist를 볼 수있는 액티비티에 표시하려고합니다. – jonasxd360