循环遍历Java对象的哈希集
我试图在Java8中循环遍历枚举对象的哈希集,以查看值是否等于特定字符串。我尝试了循环遍历Java对象的哈希集,java,object,for-loop,hashset,Java,Object,For Loop,Hashset,我试图在Java8中循环遍历枚举对象的哈希集,以查看值是否等于特定字符串。我尝试了equals和=两种方法,但都没有返回true 哈希集看起来像: 我尝试了以下方法: for(Object g : groups){ if(g.equals("group_certification_staff")){ //Do stuff } 但它总是返回错误 我缺少什么?字符串不等于枚
equals
和=
两种方法,但都没有返回true
哈希集看起来像:
我尝试了以下方法:
for(Object g : groups){
if(g.equals("group_certification_staff")){
//Do stuff
}
但它总是返回错误
我缺少什么?字符串不等于枚举。您可以编写类似于
g.name().equals(“group\u certification\u staff”)
的代码来查看它是否具有相同的名称。如果组
包含枚举
对象,则不要将它们与字符串
进行比较。将它们与您要查找的Enum
进行比较。将g==“group\u certification\u staff”
更改为g==SecurityGroup.group\u certification\u staff
将g转换为SecurityGroup,然后进行比较。是@mypetlion-出于好奇,您被更正了,是否有理由使用字符串而不是g.contains(SecurityGroup.group\u certification\u staff)
?@VGR-不。我不习惯在Java中工作-老实说,这只是缺乏这方面的经验/知识。我先前的请愿书中的陈述是正确的
for(Object g : groups){
if(g == "group_certification_staff"){
//Do stuff
}