gpt4 book ai didi

java if long 不起作用

转载 作者:行者123 更新时间:2023-12-01 16:40:08 25 4
gpt4 key购买 nike

我遇到的情况真的很奇怪。我有两个类。

  
@Entity
public class CategoryData extends EntityData {
public Long parentId;

@Column(unique=true)
public String name;
public Picture picture;
}
  
@Entity
public class PropertyGroupData extends EntityData {
public Long categoryId;
public String adminDescription;
public String title;
@ManyToMany(fetch=FetchType.EAGER)
public List properties = new LinkedList();

}

这是我的 hibernate 的实体类。

 
@MappedSuperclass
public class EntityData implements Serializable {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Long id;
@Temporal(TemporalType.TIMESTAMP)
public Date created = new Date();
@Temporal(TemporalType.TIMESTAMP)
public Date modified = new Date();

public Long version = 0L;
// W:waiting,A:active,D:deleted
public Character status;

@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}

@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE);
//return "EntityData[id=" + id + "]";
}
}

情况来了。我的数据库中有一些数据并且运行良好。到目前为止。


for(CategoryData c:kategoriler)
if(pgd.categoryId.toString().equals(c.id.toString()))
out.print("1-find equal "+c.id);
for(CategoryData c:kategoriler)
if(pgd.categoryId==c.id)
out.print("2-find equal "+c.id);

第一个 for 循环正常工作并打印 1-find equal 7 但第二个循环不打印任何内容。他们都是龙。我做错了什么?

最佳答案

表达式的类型为Long,它是一个类,因此通过引用标识进行比较。如果它们很长,那就没问题了。试试这个:

for(CategoryData c:kategoriler)
if(pgd.categoryId.longValue() == c.id.longValue())
out.print("2-find equal "+c.id);

关于java if long 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4635159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com