Java中如何检查方法形式参数是否为空或null?以display方法为例
没问题,咱们来拆解下怎么在Java里给你的display方法做参数检查。首先得明确:不同类型的参数,检查空/合法性的逻辑不一样,我给你分情况说明:
针对
display方法的参数检查实现 首先要搞清楚:int和double是基本数据类型,它们不可能为null,也不存在“空”的概念(基本类型有默认值,int默认0,double默认0.0),所以我们主要检查它们的业务合理性;而String是引用类型,需要重点排查null或空字符串的情况。
1. 检查String name参数
需要同时判断是否为null,以及是否是空字符串(如果要排除全空格的无效输入,记得加trim()):
if (name == null || name.trim().isEmpty()) { throw new IllegalArgumentException("Name cannot be null or empty"); }
如果你的业务允许名字包含纯空格,可以去掉trim(),只判断name.isEmpty()。
2. 检查int age参数
基本类型不会为null,但要检查是否符合业务逻辑的合理范围,比如年龄不能为负数,也不能超过合理的人类年龄上限:
if (age < 0 || age > 150) { throw new IllegalArgumentException("Age must be between 0 and 150"); }
具体的范围可以根据你的业务需求调整(比如如果是儿童产品,上限可以设为18)。
3. 检查double percentage参数
同样是基本类型,重点检查业务合理性。比如百分比通常有两种形式,对应不同的判断逻辑:
// 如果是0-100的百分比形式(比如考试分数) if (percentage < 0.0 || percentage > 100.0) { throw new IllegalArgumentException("Percentage must be between 0.0 and 100.0"); } // 如果是0.0-1.0的小数形式(比如统计占比),就改成这个判断 // if (percentage < 0.0 || percentage > 1.0) { // throw new IllegalArgumentException("Percentage must be between 0.0 and 1.0"); // }
整合后的完整方法
把这些检查逻辑放进display方法里,最终代码如下:
public void display(String name, int age, double percentage) { // 校验name if (name == null || name.trim().isEmpty()) { throw new IllegalArgumentException("Name cannot be null or empty"); } // 校验age if (age < 0 || age > 150) { throw new IllegalArgumentException("Age must be between 0 and 150"); } // 校验percentage if (percentage < 0.0 || percentage > 100.0) { throw new IllegalArgumentException("Percentage must be between 0.0 and 100.0"); } // 这里写你的业务逻辑 System.out.println("Name: " + name + ", Age: " + age + ", Percentage: " + percentage); }
额外小技巧
如果觉得手动写校验太繁琐,可以用第三方工具类简化,比如Apache Commons Lang的StringUtils,或者Spring的Assert类:
// 用StringUtils简化name的校验(需要引入依赖) if (StringUtils.isBlank(name)) { throw new IllegalArgumentException("Name cannot be null or empty"); }
不过如果不想引入外部依赖,上面的原生写法已经足够可靠。
内容的提问来源于stack exchange,提问作者user8638451
相关产品推荐
相关产品推荐

