我開始執行這個在數組中執行簡單搜索以進行hw分配的路徑,而不知道我們可以使用ArrayList。我意識到它有一些錯誤,並且認爲在使用ArrayList之前我仍然會嘗試知道我的錯誤是什麼。我基本上有一個類,我可以添加,刪除或從數組中搜索。在沒有ArrayList的Java中返回搜索結果
public class AcmeLoanManager
{
public void addLoan(Loan h)
{
int loanId = h.getLoanId();
loanArray[loanId - 1] = h;
}
public Loan[] getAllLoans()
{
return loanArray;
}
public Loan[] findLoans(Person p)
{
//Loan[] searchedLoanArray = new Loan[10]; // create new array to hold searched values
searchedLoanArray = this.getAllLoans(); // fill new array with all values
// Looks through only valid array values, and if Person p does not match using Person.equals()
// sets that value to null.
for (int i = 0; i < searchedLoanArray.length; i++) {
if (searchedLoanArray[i] != null) {
if (!(searchedLoanArray[i].getClient().equals(p))) {
searchedLoanArray[i] = null;
}
}
}
return searchedLoanArray;
}
public void removeLoan(int loanId)
{
loanArray[loanId - 1] = null;
}
private Loan[] loanArray = new Loan[10];
private Loan[] searchedLoanArray = new Loan[10]; // separate array to hold values returned from search
}
當測試這一點,我想它的工作,但我想我覆蓋我的成員變量我做了搜索之後。我最初認爲我可以在該方法中創建一個新的Loan [],並返回它,但這似乎不起作用。然後我想我可以有兩個數組。一個不會改變,另一個只是搜索值。但我認爲我不理解的東西,如淺與深複製??? ...
您在代碼中遇到了哪些錯誤? – 2010-04-29 02:19:01