检查列表中是否已存在对象



如何检查列表中是否已经存在具有此名称的对象?

@PostMapping
public String add(@RequestBody Produto item){
if(produtos.contains(item) == ){
return existente;
} 
produtos.add(item);
return item.getNomeProduto();
}
}

正如shmosel所提到的,.contains((只有在equals((和hashCode((方法正确实现时才有效
如果出现这样的问题,请您在谷歌上搜索并阅读更多关于这些方法的信息。例如
重写java equals((方法-不起作用
为什么我需要重写Java中的equals和hashCode方法
简而言之,equals((告诉告诉java如何生成hashCode!它被一些算法或数据结构(如Set或Map(用来保存对象,并允许在数据结构中更快地搜索对象

提示一下,IDE通常可以为您生成equals((和hashCode((方法
例如,在IntellijIdea中,您可以打开Produto类并按alt insert->equals((和hashCode((

最新更新