在代码中尽量避免使用不同类型的ID来生成对象,如果无法避免,则可以采用缓存技术来减少重复生成对象的次数。 比如以下代码中,根据不同类型的ID生成不同类型的对象:
public Object getObjectById(Object id) {
if (id instanceof Integer) {
return new IntegerObject((Integer) id);
} else if (id instanceof String) {
return new StringObject((String) id);
} else {
return null;
}
}
可以改为以下代码:
private Map
这样可以避免反复生成相同对象的性能问题。