浅析Java中如何设置各种情况的默认值
1、方法的参数设置默认值,目前 Java 不支持这种写法,只能自己去变种实现
2、SpringBoot @Value 设置默认值
SpringBoot如果我们使用了@Value来从配置文件读取值, 如果配置文件中没有这个配置项,就会报错:Could not resolve placeholder 'xxx' in value "${aaa.bbb.ccc}"
解决方案:
@Value("${aaa.bbb.ccc:DefaultValue}")
// 如 @Value("${aaa.bbb.ccc:test}")
//默认值为test
3、POJO设置某个属性的默认值
public class ObjectDefaultValue {
private Integer id = 0;
private String name= "";
private BigDecimal money = new BigDecimal("0.1");
private Date createTime = DateTimeUtil.getDayDate(new Date());
// 还可以通过设置 get 设置默认值
public String getDefaultName() {
if (getId()!=null && getId()>0){
return "ID存在";
}
return "";
}
private String orderPrice;//定义类的属性
/*
* get set方法
* String.trim() 返回字符串的副本,忽略前导空白和尾部空白。
*/
public String getOrderPrice() {
if("".equals(orderPrice)||orderPrice==null){
return "0";//去除该属性的前后空格并进行非空非null判断
}
return orderPrice;
}
public void setOrderPrice(String orderPrice) {
this.orderPrice = orderPrice == null ? null : orderPrice.trim();
}
}