首页 > 解决方案 > 如何检查对象的类是否等于枚举中值的类?

问题描述

在 Java 中说我有一个public enum RecyclerViewItems.

在这个枚举中,我有各种名称,LOADING、HEADER、IMAGE 等,我可以像RecyclerViewItems.LOADING等一样访问它们。

我将多个枚举添加到列表中,list.add(RecyclerViewItems.LOADING)并且list.add(RecyclerViewItems.HEADER). 然后,我想检查某个位置 i,如果 List 中的 Object 是RecyclerViewItems.LOADINGOR RecyclerViewItems.HEADER

但是,我不能这样做,return items.get(position) instanceof RecyclerViewItems.LOADING;因为LOADING它不是一个有效的课程。但是,如果我只是这样做return items.get(position) instanceof RecyclerViewItems,它将为两者返回 trueLOADINGHEADER。所以我需要一些方法来检查枚举实际上是 LOADING 而不是 HEADER ,它们都在同一个枚举类中。

我怎么做?

标签: javaenums

解决方案


您可以直接将枚举值与==

你应该使用:

return items.get(position) == RecyclerViewItems.LOADING


推荐阅读