1 boolean和Boolean的区别
【问题】在写注册流程的时候 , 用手机号码注册 , 查库看手机号是否已经存在 , 然后返回一个boolean回去给前端的时候突然注意到 , 用boolean还是Boolean?有区别吗,担心会有问题
/**
* 在数据库内查询号码是否已经存在 号码重复
* @param phone
* @return true 已注册红字提醒 false 新用户未注册可以进行下一步
*/
@Override
public Boolean checkPhone(String phone) {
//#1 先校验手机号码格式 若格式匹配不上, 抛出自定义异常:请输入正确的手机号码格式!
// 注意:校验一系列写在一个工具类里再用,不要在这里造代码
//#2 查询手机号码是否已经被注册
// 逻辑:通过QueryWrapper以eq电话号码为条件用super.getOne(wrapper)返回User user
return user!=null
}
▶关于新用户注册代码咋整 (先挖个坑在这,上传好了再补上链接)
【解析】
①user != null 意味着电话号码在数据库里有了,现在你又要用这个号码注册很明显不行的,所以应该告诉用户"该手机号码已注册";
②到底返回true还是false取决于前端的判断逻辑.因为我这里的前端代码是if(!true)那么可以注册,意思就是当后端传过来一个true就说明号码已经被注册了,跟我刚才写的代码对得上
【回答】
①boolean是八大基本数据类型之一 , Boolean是它的封装类
②Boolean类有属性 , 有方法 , 可以Boolean flag = new Boolean("true") , boolean则不可以!!!
③Boolean是boolean的实例化对象类 , 类比Integer对应int
④区分 :
自JDK1.5.0以上的版本以后(现在很低很多都是1.8以后所以不用担心自己使用的问题, 我现在默认是1.8自己有的是JDK11 和JDK13)
Boolean在"赋值"和判断上和boolean一样 , 意思就是
可以这样Boolean b1 = true ;
也可这样boolean b2 = true ;
▲什么时候只能用Boolean : 从列表或者哈希表获取值时 , 如下 :
public static void main(String[] args) {
boolean t = false;
Map map = new HashMap();
map.put("t",t);
"那么取值的时候只能用Boolean"
Boolean t1 = (Boolean)map.get(t);
}
我没什么特别的使用需求 , 仅仅是根据true和false来判断而已 , 所以我直接用Boolean
引用出处