亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從列表中刪除項目<>?

如何從列表中刪除項目<>?

aluckdog 2022-08-17 15:56:59
我正在開發一個應用程序,其中包含一個票證列表,有用戶的添加票證和刪除票證選項。添加選項工作正常,但刪除選項不起作用,這是票證列表代碼public class TicketList {    private List<Ticket> ticketList;    public TicketList() {        ticketList = new ArrayList<>();    }    public List<Ticket> getTicketList() {        return ticketList;    }    public void setTicketList(List<Ticket> ticketList) {        this.ticketList = ticketList;    }    public void addTicketToList(Ticket ticket) {        ticketList.add(ticket);    }    public void removeFromList(Ticket ticket) {        ticketList.remove(ticket);    }    @Override    public String toString() {        return "TicketList{" + "ticketList=" + ticketList + '}';    }}另一個活動中的刪除函數不起作用:private void deleteTicket() {    TicketList ticketList = MyPreferencesManager.getInstance(this).getTicketList();    Ticket ticket = MyPreferencesManager.getInstance(this).getTicket();    ticketList.removeFromList(ticket);    MyPreferencesManager.getInstance(this).putTicketList(ticketList);}雖然 add 函數工作正常:private void saveTicket() {    TicketList ticketList = MyPreferencesManager.getInstance(this).getTicketList();    Ticket ticket = new Ticket();    ticket.setUsername(username.getText().toString());    ticket.setPassword(password.getText().toString());    ticketList.addTicketToList(ticket);    MyPreferencesManager.getInstance(this).putTicketList(ticketList);}誰能告訴我刪除或刪除功能有什么問題?
查看完整描述

1 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

這是因為當您使用以下代碼時:

ticketList.remove(ticket);

刪除方法將在刪除之前檢查列表中是否有確切的對象項。因此,在您嘗試從列表中刪除票證對象之前,您的票證對象可能已經更改。

您可以從列表文檔中看到詳細信息:

公共抽象布爾刪除(對象 o)

從此列表中刪除指定元素的第一個匹配項(如果存在)(可選操作)。如果此列表不包含該元素,則它保持不變。更正式地說,刪除索引為i最低的元素,使得(o==null ? get(i)==null : o.equals(get(i)))(如果存在這樣的元素)。如果此列表包含指定的元素(或者等效地,如果此列表由于調用而發生更改),則返回 true。

你需要的可能是List.remove(int index)。


查看完整回答
反對 回復 2022-08-17
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號