list indexof java,JAVA ArrayList无法通过indexOf()找到元素

Im writing a short program and I have a problem.

o12Hz.png

There is a problem with more details.

I have function

public CardStck from(Card card)

int pos = this.cardList.indexOf(card);

card for this example is Card(value=5, color="D")- as u see on the debugging screen

Even there is that card im searching for 5(D) (diamond 5 card) in this.cardList the value of pos is -1 (not found)

Could anyone tell me where the problem is?

解决方案

In your card class, implement the "equals" method, like this:

@Override

public boolean equals(Object t){

if(!(t instanceof Card)){

return false;

}

Card c = (Card)t;

//Compare however you want, ie

return (c.getValue() == this.getValue()) & (c.getColor().equals(this.getColor());

}

there may be some other null checks or safety stuff you want to include, like making sure color isn't null etc, but that's the general idea.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值