我有很多对象使用很少的类(意味着元素视觉分类,如 html+css)。类在编译时是未知的,它们在条件下被多次使用。
为了提高性能,我有一个解决方案:
public class ElementClass {
private static final Map<String, ElementClass> classes = new HashMap<>();
public final String name;
public final String lowerName;
public ElementClass(String name, String lowerName) {
this.name = name;
this.lowerName = lowerName;
}
public static ElementClass get(String name) {
String lower = name.toLowerCase();
ElementClass c = classes.get(lower);
if (c == null) {
c = new ElementClass(name, lower);
classes.put(lower, c);
}
return c;
}
}
与变量比较相比,该方法get
的使用非常少。ElementClass
它在解析配置和一些static
变量。我不确定这是否是最好的方法,因为我是 Java 初学者。
的示例用法ElementClass
:
// contains element styles based on it's class
Map<ElementClass,ElementStyle> styles;
void exampleFunction() {
ElementClass c = ElementClass.get("special");
for( Element e : elements ) {
if( e.cls == c ) doSomethingSpecial();
}
}