同一點上我有一個這樣的自定義適配器相同的對象:的Java:比較它們具有相同的屬性,但不指向內存中
private List<User> items = new ArrayList<>();
private Context context;
public UserSpinnerAdapter(@NonNull Context context, @LayoutRes int resource, @NonNull
List<User> objects) {
super(context, resource, objects);
this.items = objects;
this.context = context;
}
時,我想找到從獲取目標用戶的位置web api,public int getPosition(@Nullable User item)
的結果總是-1。我認爲這是我傳遞給適配器的項目的beacaus不僅與適配器用戶列表相同,儘管每個事物都是相同的,但指向另一個內存點。
那麼如何比較兩個具有相同屬性但實際分離的對象呢?
感謝
equals
/hashCode
但工作沒有覆蓋的hashCode,只是與equals() – Kenji@Kenji,它會;但是當重寫equals時,你應該總是重寫hashCode。 – epoch