浅析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();
}
}
分类:
Java知识学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律