NaruTrey off
Чёрные усы кричает этот свисть
Я и забыл, что существует enum. Тем не менее, операционные системы обычно не переименовывают просто так, да и использование enum по сравнению со строкой слишком громозко. Даже сравнение больше:
  1. getOS() == OS.linux
против
  1. "lin".equals(OS)
aNNiMON off
let live
Kalter, Oak, +1, enum'ом красивее даже будет - можно полное имя системы писать, а то "os/" ну как-то совсем грустно.
kalterfx off
Homo homini penis est.
Oak, я уже написал причину того, почему лучше использовать enum для сравнения вместо строк :-D

Ну вот, конкретный пример: Windows переименовали в Tiles. Так вот, а в проекте везде сравнение ведётся с "win". Чтобы исправить эту проблему, придётся прибегнуть к рефакторингу. Не столь критично, конечно, можно искать регулярным выражением... Но тем не менее, чтобы исправить и эту проблему, лучше использовать enum. В этом случае придётся отредактировать только одно место программы.
Oak off
Эль Презеденте
Мне удобнее енамы сравнивать, чем строки. А вам?
kalterfx off
Homo homini penis est.
Ошибка в OS:

  1. public enum OS {
  2.  
  3.     linux, macos, windows, os_slash,
  4.     solaris, hp_ux, aix, freebsd
  5. }

Нельзя редактировать комментарий.
kalterfx off
Homo homini penis est.
В противном случае, конечно, лучше использовать enum. Обуславливается тем, что если по всему коду тот, кто будет использовать данный метод будет сравнивать строки, а ОС ВНЕЗАПНО изменит своё имя... Это рефакторинг, и это боль. С другой стороны, если использовать метод с использованием enum, то придётся заменить лишь одно (!) место в программе.

Пример
kalterfx off
Homo homini penis est.
Если имена ОС не меняются каждый день (или год), то использование строк здесь не критично.
NaruTrey off
Чёрные усы кричает этот свисть
Oak, зачем здесь Enumeration? Здесь хранится только одно значение.
Oak off
Эль Презеденте
NaruTrey, чтобы метод возвращал удобный enum, а не неудобный String.
NaruTrey off
Чёрные усы кричает этот свисть
А, enumeration? Зачем?
Всего: 44
<< 1 2 3 4 5 >>

Реклама

Мы в соцсетях

tw tg yt gt