Size: a a a

2021 March 03

M

Miroslav in learn.java
central hardware
можно, но должен быть return вне switch
Мм, вот так? По-прежнему считает, что я не весь энум перебрал и могу не проинициализировать(
источник

M

Miroslav in learn.java
central hardware
можно, но должен быть return вне switch
источник

ch

central hardware in learn.java
это уже другая ошбка смысл который максимально понятен и связан с прошлой
источник

ch

central hardware in learn.java
компилятор не считает что ваш перебор вариантов констант являетс полным а он в 99,9 случаев прав
источник

ЧЧ

Чел Челу Чел Челыч... in learn.java
Поставь изначально null
источник

ЧЧ

Чел Челу Чел Челыч... in learn.java
И будет тебе счастье
источник

M

Miroslav in learn.java
central hardware
а если null передать вместо enum То что будет
Ну да, во первых будет исключение, во вторых вон описал в контракте, что так делать не надо
источник

M

Miroslav in learn.java
central hardware
компилятор не считает что ваш перебор вариантов констант являетс полным а он в 99,9 случаев прав
Мм, а как так про 99 процентов-то? Члены энума же известны на момент компиляции. В рантайме изменяться не могут. Значит можно гарантировать полный перебор на этапе компиляции, нет?
источник

M

Miroslav in learn.java
Miroslav
Не обязательно
И как тогда это работает безо всякий дефаултов но с полным перебором?
источник

VB

Vitaliy Blokhin in learn.java
default добавь всё же)
источник

ch

central hardware in learn.java
Miroslav
И как тогда это работает безо всякий дефаултов но с полным перебором?
а что мешает ему работать если кто то не делает внутри return
источник

rf

rex francorum in learn.java
Miroslav
Мм, вот так? По-прежнему считает, что я не весь энум перебрал и могу не проинициализировать(
проинить чем-нибудь
источник

rf

rex francorum in learn.java
returnValue
источник

ch

central hardware in learn.java
Miroslav
Мм, вот так? По-прежнему считает, что я не весь энум перебрал и могу не проинициализировать(
кстати можно переписать код на скрине вот так return this.defenseBoarderMargins[field.ordinal()]
источник

M

Miroslav in learn.java
central hardware
кстати можно переписать код на скрине вот так return this.defenseBoarderMargins[field.ordinal()]
Спасибо! Осталось порядок в энуме не поменять))
источник

ch

central hardware in learn.java
заведи Map<FieldEnum, Integer> и будет однострочник но уже не зависящий от порядка enum
источник

M

Miroslav in learn.java
Vitaliy Blokhin
default добавь всё же)
Добавить то можно. Обману компилятор и все (а не себя ли). Просто хотелось бы понять, почему он так себя ведет. Есть же наверное объяснение, а не просто мол матчинг не доделали)
источник

M

Miroslav in learn.java
central hardware
а что мешает ему работать если кто то не делает внутри return
Ничего. Но SonarLint начнет ругаться (пример без дефаулта с полным перебором из него)
источник

M

Miroslav in learn.java
central hardware
заведи Map<FieldEnum, Integer> и будет однострочник но уже не зависящий от порядка enum
Да, спасибо)
источник

M

Miroslav in learn.java
central hardware
заведи Map<FieldEnum, Integer> и будет однострочник но уже не зависящий от порядка enum
С Мапой как-то выглядит тяжеловесно)
источник