Подходы к сохранению перечисления в JavaJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Подходы к сохранению перечисления в Java

Сообщение Anonymous »

Добрый день всем,
Делаю API для заказа участников разных соревнований. В соревнованиях есть разные испытания, например, отжимания и бег. Дело в том, что попытки можно измерять по-разному, в данном случае отжимания в повторениях и бег в секундах, поэтому я думаю, что лучший способ сделать это - иметь метод, который можно переопределить, скажем, getRating(int mark ), где отметка будет равна 5 отжиманиям или 10 секундам. Этот метод вернет рейтинг, который спортсмен будет иметь в этом испытании.
С моей точки зрения, у меня есть два подхода. Первый использует перечисление, но поскольку я хочу сохранить информацию, я не совсем уверен, как это сделать. Я видел, что мне нужно использовать здесь обозначение @Enumerated. Я думаю, это решит проблему, но если я захочу получить информацию об испытаниях после (имя, описание или любой другой атрибут, который я включаю), возникнут ли у меня проблемы, поскольку их нет в БД? Также важно отметить, что если будет только одно соревнование, это не будет проблемой, но если число начнет расти, количество испытаний увеличится еще больше, поэтому я действительно не знаю, является ли это лучший подход.
Это будет примерно так:

Код: Выделить всё

public enum Trial {
PUSH_UPS("Push-ups", "Test your upper body strength by doing push-ups.") {
@Override
public String getRating(int result) {
if (result >= 40) {
return "Excellent";
} else if (result >= 30) {
return "Good";
} else if (result >= 20) {
return "Fair";
} else {
return "Poor";
}
}
},
PULL_UPS("Pull-ups", "Test your upper body strength by doing pull-ups.") {
@Override
public String getRating(int result) {
if (result >= 20) {
return "Excellent";
} else if (result >= 15) {
return "Good";
} else if (result >= 10) {
return "Fair";
} else {
return "Poor";
}
}
},
RUNNING("Running", "Test your cardiovascular endurance by running.") {
@Override
public String getRating(int result) {
if (result = 20) {
return "Fair";
} else {
return "Poor";
}
}
}

public class PullUpsTrial extends Trial {
public PullUpsTrial() {
super("Pull-ups", "Test your upper body strength by doing pull-ups.");
}

@Override
public String getRating(int result) {
if (result >= 20) {
return "Excellent";
} else if (result >= 15) {
return "Good";
} else if (result >= 10) {
return "Fair";
} else {
return "Poor";
}
}
}

public class RunningTrial extends Trial {
public RunningTrial() {
super("Running", "Test your cardiovascular endurance by running.");
}

@Override
public String getRating(int result) {
if (result 

Подробнее здесь: [url]https://stackoverflow.com/questions/78248639/approaches-to-persist-enum-in-java[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Лучшие практики по сохранению SQL-запросов в проекте Python
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Рекомендации по сохранению родительских и дочерних записей
    Anonymous » » в форуме Php
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Сортировать ассоциативный массив по ценностям и сохранению ключей
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Cmake с Multy Multy включает в себя путь к сохранению
    Anonymous » » в форуме C++
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Cmake с Multy Multy включает в себя путь к сохранению
    Anonymous » » в форуме C++
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»