Как получить доступ к данным в объектах и ​​функциях php?

Так как, похоже, вы все равно будете жестко кодироваться, почему бы не иметь что-то вроде

public static Bar responseBar(Foo f) {
 switch(f) {
  case A: return Bar.Alpha;
  // ... etc
 }
}

для каждого перечисления? Похоже, что у вас есть некоторые дублирующие ответы в вашем примере, так что вы даже можете воспользоваться случаями, которые проваливаются.

EDIT:

Мне нравится предложение Tom's EnumMap; I считает, что производительность , вероятно, выше на EnumMap, но такая элегантная конструкция, описанная в Effective Java, по-видимому, не предоставляется этой конкретной проблемой - однако предлагаемое выше решение коммутатора будет хорошим способ построить два статических EnumMaps, тогда ответ может быть примерно таким:

 public static Bar response(Foo f) { return FooToBar.get(f); }
 public static Foo response(Bar b) { return BarToFoo.get(b); }
1
задан Utkanos 17 February 2019 в 18:13
поделиться