Каковы критерии выбора между valueOf ()и newInstance ()?

Предположим, у меня есть класс ObjectInfo, который содержит имя объекта и тип объекта в виде строки. (Я просто кое-что придумываю, чтобы задать вопрос.)

class ObjectInfo {
    String objectName;

    String objectType;

    private ObjectInfo(String objectName, String objectType) {
          this.objectName = objectName;
          this.objectType = objectType;
    }
}

И если я хочу предоставить статический фабричный метод для создания экземпляров этого класса, какой из следующих двух методов лучше и почему?

public static ObjectInfo newInstance(String objectName, String objectType) {
    return new ObjectInfo(objectName, objectType)    
}

public static ObjectInfo valueOf(String objectName, String objectType) {
    return new ObjectInfo(objectName, objectType)    
}

По сути, я хочу спросить, когда мы должны использовать valueOf ()и когда newInstance ()? Есть ли какие-то условности среди программистского сообщества?

-Анкит

5
задан Javier 4 August 2012 в 09:13
поделиться