Java属性命名为什么不建议使用is开头

文章目录

  • 前言
  • 一、Java属性命名为什么不建议使用is开头?
  • 二、非要使用is开头来定义属性,应该怎么做呢?
    • 1.强行写成getSuccess()的方式
    • 2.使用JSONField注解
    • 3.接收对象的参数改为Boolean类型
    • 4.接收对象的参数改为String类型
  • 总结:定义标识属性的最好方式


前言

柚子前两天在调api接口时,发现了一个问题,接收对象使用了和被请求方相同类型相同名字的boolean参数,但是却接收不到参数值,于是记录总结一下这个问题。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Java属性命名为什么不建议使用is开头?

java中,对于非boolean类型的参数,getter和setter方法命名的规范是以get和set开头;
而对于boolean类型的参数,setter方法是以set开头,但是getter方法命名的规范是以is开头。
假如被调用方现在有一个参数为isSuccess:

private boolean isSuccess;
 
public boolean isSuccess() {
	return isSuccess;
}
 
public void setSuccess(boolean success) {
	isSuccess = success;
}

因而当我在用postman调接口时,boolean类型的isSuccess参数返回时,响应结果中的参数是success。这样的话,我使用isSuccess就不能接收到相应的值。另外,在get时也不能get到值。

二、非要使用is开头来定义属性,应该怎么做呢?

1.强行写成getSuccess()的方式

public boolean getIsSuccess() {
	return isSuccess;
}

2.使用JSONField注解

@JSONField(name = "isSuccess")
private boolean isSuccess;

3.接收对象的参数改为Boolean类型

并去掉参数前面的is

private Boolean success;

4.接收对象的参数改为String类型

改为传"T"和"F"

private String isSuccess;

总结:定义标识属性的最好方式

将标识命名为xxxFlag,并传"T"和"F"

private String successFlag;

注:最好使用总结中的方式哦!!!
╭◜◝ ͡ ◜◝╮
( ˃̶͈◡˂ ̶͈ )感觉有用的话,欢迎点赞评论呀!
╰◟◞ ͜ ◟◞╯

你可能感兴趣的:(#,Java基础知识,java,开发语言)