как написать чистый код без использования перечислений - PullRequest
0 голосов
/ 14 июня 2019

У меня есть перечисление ниже

public enum ProductType{

 P1("Pone")
 P2("Ptwo")

 public String value;

  public String getValue(){
      return value;
  } 

 public Product fromValue(Brand b){
     if(b.equals("A")){
         return P1;
     else
         return P2
     }
}

А вот как я это использую

Class ABC{

        public String getProductName(Brand b){
           return ProductType.fromValue(b).getName();
      }
}

Как мне добиться того же, не используя ENUM. Я хочу иметь возможность вернуть ProductName от бренда без использования ENUM

1 Ответ

0 голосов
/ 14 июня 2019

Непонятно, почему вы пытаетесь избежать перечислений, но вот эквивалентная версия до Java-5. Ваш код пронизан ошибками, поэтому я сделал несколько предположений и исправлений:

public class ProductType {
    public static final ProductType P1 = new ProductType("Pone");
    public static final ProductType P2 = new ProductType("Ptwo");

    private final String value;

    private Product(String value) {
        this.value = value;
    }

    public String getValue() {
        return this.value;
    }

    public ProductType fromValue(String value) {
        return value.equals(P1.value) ? P1
               value.equals(P2.value) ? P2 : null;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...