疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

JAVA中intValue()


 

 PageBean.java
   
    package org.andy;public class PageBean {
   
    private Integer start;
   
    private Integer limit;
   
    public PageBean(){
   
    }
   
    public PageBean(Integer paramStart, Integer paramLimit) {
   
    this.start = paramStart;
   
    this.limit = paramLimit;
   
    }
   
    public int getStart() {
   
    return this.start.intValue();
   
    }
   
    public int getLimit() {
   
    return this.limit.intValue();
   
    }}
   
    测试类:
   
    package org.andy;public class Test {
   
    public static void main(String[] args) {
   
    PageBean pageBean=new PageBean();
   
    StringBuffer sb=new StringBuffer();
   
    sb.append(“start:”)。append(pageBean.getStart());
   
    sb.append(“/t”);
   
    sb.append(“limit:”)。append(pageBean.getLimit());
   
    System.out.println(sb.toString());
   
    }}
   
    运行这段代码时,便会报异常,异常如下:
   
    Exception in thread “main” java.lang.NullPointerException
   
    at org.andy.PageBean.getStart(PageBean.java:16)
   
    at org.andy.Test.main(Test.java:7)
   
    很显然是空指针异常,
   
    这是开发经常遇到的问题,
   
    当Integer类型的变量没有赋值(默认null)的时候,对其执行intValue(),就会出现上面的错误,一个健壮的程序是不允许这种情况出现的,修改PageBean可以解决:
   
    package org.andy;public class PageBean {
   
    private Integer start;
   
    private Integer limit;
   
    public PageBean() {
   
    }
   
    public PageBean(Integer paramStart, Integer paramLimit) {
   
    this.start = paramStart;
   
    this.limit = paramLimit;
   
    }
   
    public int getStart() {
   
    if (start != null)
   
    return this.start.intValue();
   
    return 0;
   
    }
   
    public int getLimit() {
   
    if (limit != null)
   
    return this.limit.intValue();
   
    return 0;
   
    }}