Integer和类实现问题和重写++问题

Integer和类实现问题和重写++问题

第一个问题:

public class countDemo {  
  
    static Integer count;  
      
    public static void main(String[] args) {  
      
        for(int i = 0;i<6;i++){  
            count++;  
        }  
        System.out.println(count);  
    }  
}  

这样为什么会报null指针异常呢,为什么不可以++呢 


第二个问题: 
 
public class User implements java.io.Serializable {  
    private Integer userId;  
    private String userName;  
    private String password;  
    private String mobile;  
    private String email;  
      
    @Override  
    public String toString() {  
        return "User [email=" + email + ", mobile=" + mobile + ", password="  
                + password + ", userId=" + userId + ", userName=" + userName  
                + "]";  
    }  
}  

为什么要在类上要实现implements java.io.Serializable 类? 
 
public class User implements java.io.Serializable {

为什么要这样重写类里面的属性? 


public String toString() {  
        return "User [email=" + email + ", mobile=" + mobile + ", password="  
                + password + ", userId=" + userId + ", userName=" + userName  
                + "]";  
    }  

北风网解答:


1、没有给count赋初值,Integer是int的封装类,默认值为null  
应该这样赋值:  
Integer count = 0;(这种写法在jdk1.5及以上的版本适用,原因是1.5以上的版本提供了自动拆箱机制;但如果你的jdk是1.4及以下,则应该改为:  
复制代码
Integer count = new Integer(0);)


2、一个类只有实现了Serializable接口,它的对象才是可序列化的。而实际上Serializable是一个空接口,没有具体的内容,它的目的只是简单的标识一个类的对象可以被序列化。  
 
3、重写toString()方法是期望得到自己想要格式的字符串,这个方法是定义在Object类中的,参考源码:  

public String toString() {  
    return getClass().getName() + "@" + Integer.toHexString(hashCode());  
    }  

转自:http://bbs.ibeifeng.com/read-htm-tid-65500.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值