【发布时间】:2019-03-13 12:02:08
【问题描述】:
我有 2 个枚举类:
public enum Dogs
{
JACKIE("Jackie"),
BOBBY("Bobby");
}
和
public enum Cats
{
CHAN("Chan"),
SPONGE("Sponge");
}
现在我在其他一些类中有一个方法,我想将枚举作为参数传递,所以我可以根据需要选择其中任何一个。
public void findAnimal()
{
List<Dogs> animals = Arrays.asList(Dogs.values());
for (Dogs animal: animals)
{
rest of the code goes here
}
}
因此,我不想提供硬编码的“狗”,而是希望有一个选择并将参数传递给方法,例如
public void (Enum enumAnimals)
{
List<Enum> animals = Arrays.asList(Enum.values());
for (Enum animal: animals)
}
但它不接受这样的。是否可以将泛型类型作为“枚举”传递?
【问题讨论】:
-
你的枚举可以实现一个通用接口。你想在 for 循环中做什么?
-
这似乎是对枚举的根本滥用。我希望 Chan、Sponge 等都是类的对象,而不是枚举成员。
-
@BenR。 R. 也许我提供了错误的值示例,但我需要字符串值而不是类的对象。这些名称不会更改,并将在应用程序/代码中的许多地方使用。这就是为什么我需要它们保持不变。
-
@KlitosKyriacou 在'for循环'中我会做这样的事情: input.typeName(animal.getName()) if(some condition) { String newName = animal.getName();休息; }
标签: java parameters enums