Using Java enums with multiple parameters -
i'm using enums below snippet , helpful me. however, when want define more 1 enum (e.g. enum2, enum3), have same parameters, have write tagged "repeated code" in snippet.
i'm thinking encapsulate parameters (p1, ...) within object , give reference object in enum. however, idea disturbs me since other instances generated.
is above approach right, or how can solve problem?
public enum enum1 { key_1(p1, p2, ..., pn), ... key_m(p1, p2, ..., pn); // constructor // repeated code private int p1, p2, ..., pn; public getp1(); ... public getpm(); }
try this:
public enum enum1 { key_1(arrays.aslist(1, 2, 3)), key_2(arrays.aslist(4, 5, 6)); enum1(list<integer> ps) { params = collections.unmodifiablelist(ps); } private list<integer> params; public int getp(int idx) { return params.get(idx); } } given have several parameters of same type, use collection. later, when need retrieve particular parameter use getp() method, remember indexes 0-based.
Comments
Post a Comment