2017-10-02 1 views

Répondre

0

Vous pouvez définir le modèle directement à la ENUM ...

public enum RecordField { 

    ACTION_ID(Pattern.compile("[A-Z0-9]{4}")), 
    TYPE(Pattern.compile("0[1|2|4|5]")); 

    private Pattern regex; 

    RecordField(Pattern s) { 
     this.regex = s; 
    } 

    public Boolean matches(String text){ 
     return regex.matcher(text).find(); 
    } 

} 
3

Vous pouvez donner une méthode ENUM vérifiant

public enum RecordField { 
    ...; 
    // I always keep the Pattern for regexes that don't change 
    // to avoid repetetive compilation 
    private Pattern pattern; 
    RecordField(String regex) { 
     pattern = Pattern.compile(regex); 
    } 
    public boolean isMatch(String toTest) { 
     return pattern.matcher(toTest).matches(); 
    } 
} 

et l'utiliser comme ceci

RecordField.PKN.isMatch(yourString);