Я читал много ответов, подтверждающих мои (совершенно очевидные) мнения об использовании перечислений вместо String
объектов при работе с небольшими замкнутыми наборами значений.Почему RandomAccessFile принимает строку вместо enum как параметр «mode»?
Но в последнее время я заметил несколько примеров в Java API, где был сделан противоположный выбор. Я могу вспомнить только это одно прямо сейчас
public RandomAccessFile(File file, String mode)
где mode
параметр может быть только r
, rw
, rws
или rwd
. В противном случае будет выбрано исключение IllegalArgumentException
.
Единственная причина, по которой я могу думать, это то, что такой метод может предшествовать внедрению enum на языке Java, правильно? Если это правда, существуют ли ситуации сегодня, когда выбор строки вместо enum может иметь смысл для закрытого набора?
Скорее всего, потому, что API был указан, когда у Java не было перечислений. –
Это моя догадка, я искал подтверждения/ретракции –