java get the longest string in enum -
i find longest string within java enum. best way this? havent been working enums suggestion welcome. these enums
public enum domain_languages { eng, swe; public static list<domain_languages> getdomainlanguages(){ list<domain_languages> languages = new arraylist<domain_languages>(); languages.add(eng); languages.add(swe); return languages; } } public enum domain_state { live, pending_renewal, pending_transfer_out, } edit:
i didnt define question , hence edit it. whant 2 enums function takes of 2 kind of enums have defined , finds longest literal. in domain_state "pending_transfer_out". hope makes things bit easier understand.
edit 2
so i'v gotten som has been great, im not sure why code not work. complains when try use enumlist.values()? reason couldnt find solution in first place, missing? =)
public string calculatedropdownlistwidth(enum enumlist){ int chars = 0; for(enum e : enumlist.values()){ //do stuff } } final:
so knwo why didnt work. hade loop on enumset instead of enum. since enum 1 in "set" if im not totally misstaken. solution. helping out!
public string calculatedropdownlistwidth(enumset enumlist){ int chars = 0; for(object e : enumlist){ if(e.tostring().length() > chars){ chars = e.tostring().length(); } } //pixelmodifier double onechar = 1.35; double result = onechar * chars; return string.valueof(result) + "px"; } thx help!
/marthin
string longestyet= ""; (enum<?> value :offertype.values()){ if (longestyet.length()< value.name().length()) { longestyet= value.name(); } } longest = longestyet; if need value specific enum, can add enum itselve, , set value in static initialialzer.
public static enum mytype { normal, other; public static final string longest; static{ string longestyet= ""; (enum<?> value :mytype.values()){ if (longestyet.length()< value.name().length()) { longestyet= value.name(); } } longest = longestyet; } } or better, put static initializer method, in util function can reused in several enums.
Comments
Post a Comment