十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
先把int类型的数据转换成String类型,然后判断String类型的数据是否为空。
建网站原本是网站策划师、网络程序员、网页设计师等,应用各种网络程序开发技术和网页设计技术配合操作的协同工作。成都创新互联公司专业提供成都网站设计、成都做网站,网页设计,网站制作(企业站、响应式网站开发、电商门户网站)等服务,从网站深度策划、搜索引擎友好度优化到用户体验的提升,我们力求做到极致!
示例代码:
int point;
String val=point +""; if("".equals(val)){ // do something...}
PS:int point不是对象,int类型为空时默认为0。
还有方法是:
如果point是int类型,则得到的结果是不可能是null的。
如果插入一条数据时没有插入给字段,而数据库里默认是null的值的话,可以使用 Integer point= GiftInfo.getPoints();
然后判断point是否等于空。
示例代码:
Integer point= GiftInfo.getPoints();
if(point == null){ // do something...}
PS:GiftInfo.getPoints返回的是Integer类型,Integer类型是包括基本类型的包装类,不给赋值的时候为null。
参考资料
判断int类型是否为空.CSDN博客 [引用时间2017-12-27]
在Java中,一个类为空的判断是常用的功能。但是各种类的空判断却不一样
当一个方法返回的是一个Object时,应使用==null来判断是否为空,例如在Servlet中的session判断用户是否登录可以用如下的代码
if (session.getAttribute("LoginUser")==null){
.............
}
但是如果是一个String类型的变量,或者某一个方法返回的是String类型的结果。其判断为空的方式又不一样了。需要使用String类中的equals方法。例如在JSP中获取URL中的参数,为保险起见,可以先判断这个参数是否为空,不空再获取。如果直接获取,一旦这个参数没有, 会造成空指向异常。代码如下
if (request.getParameter("id").toString().equals(null)){
out.println("未提供参数");
}else{
String id=request.getParameter("id").toString();
out.println(id);
}
假设页面地址为
如果不加判断 直接使用
String id=request.getParameter("id").toString();
out.println(id);
会造成空指向异常,而使用了判断后,这种情况下不报错,在页面上显示“未提供参数”。如果地址栏输入的是
则页面输出“123”
另外在字符串的“空”验证时还要注意一种情况,那就是“”空。
如果假想Java中有指针的概念的话,String a为null空,则表示变量没有指针去映射它;而String a为“”空,则表示该字符串有指针映射,但是映射到的内容为空。
有一种模式叫NullObject,意思就是建立一个专用的空对象,以此来代表结果为空。比如这样:
public interface MyObj {
public String someOp();}
public class NullObj implements MyObj {
public String someOp() {
return It's a content of NullObj; // 或者抛出一个特定异常,又或者打印出一条警告信息}}
public class NormalObj implements MyObj {
public String someOp() {
String result = null;
// 执行一些正常的代码
return result;}}用法:1、建立全局常量:
public enum Constants { //这种写单例的方式在《Effective Java》中被推荐过,非常好的实现方式。
ONE;public final MyObj NULL_OBJ = new NullObj(); //如果用enum写单例的话这里就不用static修饰符了。}2、被调用的代码在条件符合的时候返回NullObj:
public class Server {
public MyObj receive(String param) {
if (param == null) {
System.out.println(...); //记录一些log
return Constants.ONE.NULL_OBJ;}MyObj result = null;
return result;}
...}3、在调用方:
public class Client {
public result send(String content) {
Server server = null;
String result = null;try {
... //初始化server
MyObj myObj = server.receive(content);
result = myObj.someOp(); //如果你前面选择的是抛出特定异常,则这行代码就必须放在try-catch语句块中了
...}}}当然,通过捕获异常来进行流程控制的方式是不被推荐的。NullObject很灵活,可以做出很多扩展性很强的实现方案。