преобразовывают Карту в пример POJO. Заметьте, что ключ Карты содержит подчеркивание, и полевая переменная является горбом.
User.class POJO
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
public class User {
@JsonProperty("user_name")
private String userName;
@JsonProperty("pass_word")
private String passWord;
}
App.class тестируют пример
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.databind.ObjectMapper;
public class App {
public static void main(String[] args) {
Map<String, String> info = new HashMap<>();
info.put("user_name", "Q10Viking");
info.put("pass_word", "123456");
ObjectMapper mapper = new ObjectMapper();
User user = mapper.convertValue(info, User.class);
System.out.println("-------------------------------");
System.out.println(user);
}
}
/**output
-------------------------------
User(userName=Q10Viking, passWord=123456)
*/
Что делать в этой ситуации, субъективно и, вероятно, зависит от потребностей вашего бизнеса.
Я бы предпочел «Недоступно», если нет другого выбора.
100% может иметь смысл.
Возможно, использование 1 вместо нуля также может иметь смысл, что приведет к 2560% в вашем примере.
Вы произвольно устанавливаете% change на X, где X - разумное значение по умолчанию для вашего проблемного пространства. Однако это не совсем вопрос программирования. Вопрос в том, чего вы ожидаете. Что должно произойти, когда любое число приближается к нулю, зависит от проблемного пространства. Например, однажды я работал над бухгалтерской «функцией». В этой функции не было ничего особенного, она просто переводила метод оценки в код. Проблема заключалась в методе подсчета очков и в том, что никто никогда не определял значения по умолчанию, поскольку некоторые знаменатели обнулялись. Для любой заданной учетной оценки то, что произошло с нулевым баллом, может быть полным баллом, частичным баллом или 0 баллом (по шкале оценок), в зависимости от деталей того, что измерялось.
Определите, что вы измеряете, и замените разумным значением по умолчанию за ноль. Если вы измеряете производительность, убедитесь, что кто-то не может играть с системой, намеренно имея 0 долларов за недели, за которыми следуют недели с высокими долларами (например).
или 0 баллов (по шкале оценок) в зависимости от деталей того, что измерялось.Определите, что вы измеряете, и замените ноль разумным значением по умолчанию. Если вы измеряете производительность, убедитесь, что кто-то не может играть с системой, намеренно имея 0 долларов за недели, за которыми следуют недели с высоким доходом (например).
или 0 баллов (по шкале оценок) в зависимости от деталей того, что измерялось.Определите, что вы измеряете, и замените ноль разумным значением по умолчанию. Если вы измеряете производительность, убедитесь, что кто-то не может играть с системой, намеренно имея 0 долларов за недели, за которыми следуют недели с высоким доходом (например).
Я помню, как мои инструкторы называли это «неопределенным», а не бесконечностью.
Из википедии :
Деление любого числа на ноль (где делитель равен ноль) не определено. Это связано с тем, что ноль, добавленный к нулю, независимо от того, сколько раз повторяется уравнение, всегда будет давать нулевую сумму. Ввод такого уравнения в большинство калькуляторов приведет к выдаче сообщения об ошибке.
Я бы сохранил либо NaN, либо бесконечность, либо любое другое значение, имеющее смысл, но при отображении для пользователя я бы оставил процент пустым или каким-то образом указывал, что тогда процент не имеет смысла.
Хотя технически ответ либо неопределен (в случае $ 0 / $ 0), либо бесконечность / бесконечность (во всех остальных случаях), человеку не понравится ни один из ответов. Я бы отобразил что-то вроде "или что-то подобное", если бы не смог узнать от пользователей, что лучше всего здесь сделать.