Существует ли стандартный интерфейс Java с методом getName()
, который возвращает строку?Я продолжаю находить, что должен сделать свой собственный:
/** objects which know their own names,
* e.g. that are indexed in a Map by their name
*/
interface NamedObject
{
public String getName()
}
, но я бы предпочел использовать стандартный, если он там есть.
отредактировать для примера - которыйЯ думаю, что это своего рода красная селедка на мой вопрос, поэтому я специально не хочу получить ответы, предлагающие альтернативы, характерные для следующей ситуации.(Я сталкивался с необходимостью интерфейса NamedObject
несколько раз, поэтому я надеялся, что это было что-то в стандартной библиотеке.)
Но так как вы попросили некоторый фоновый контекст, вот он:
@Override public void stateChanged(ChangeEvent e) {
Object obj = e.getSource();
if (obj instanceof NamedObject)
{
String name = ((NamedObject)obj).getName();
/* do something based on object's name */
}
}
В моем текущем проекте у меня есть система с тремя элементами: источник, метод передачи и приемник.Я хочу получить некоторую информацию от источника к получателю, и я контролирую реализацию обоих.К сожалению, метод передачи застрял с использованием объекта, который поддерживает ChangeListener, поэтому все получатель получает ChangeEvent
, с помощью которого я могу получить исходный объект.
Поэтому я должен использовать подразумеваемую общую семантику между моим источником и получателемто есть существует общее понимание того, что исходный объект, передаваемый в ChangeEvent, относится к классу X, где я могу выбрать класс X. В этом случае все, что меня действительно волнует, - это имя, из которого я могу получить дополнительные данные.Я могу определить свой собственный интерфейс, я просто надеялся использовать стандартный интерфейс, поскольку источник и приемник находятся в разных файлах .jar ...