快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

怎样避免NullPointerExceptions(原创)

写JAVA程序,NullPointerExceptions会常常陪伴着你
因为JAVA中到处都是对象,而每一个对象都可能为Null
怎样能减少这种错误呢?
我觉得应该尽量调用那些已经确定被实例话的对象的方式
比如
private String name = "";  // 给它初始化一个值不让它为null

public boolean isNameEqual(String paraName) {
    return name.equals(paraName);
  }
就比下面这种要好
  public boolean isNameEqual(String paraName) {
    return newName.equals(name);  // 这样假如paraName为空的话就会抛出一个 NullPointerException }

当然,假如在程序中name可能被赋值为null的话
那就要这样写了
public boolean isNameEqual(String paraName) {
    if (name != null) {
      return name.equals(paraName);
    }
    else if (paraName != null) {  // name 为 null 而paraName 不是
      return false;
    }
    else {  // 都为空
return true;  // 根据你的需要,返回false也行
    }
  }

至于
public class Animator extends java.applet.Applet implements Runnable{
Vector images;
int imgNumber;
int currentImage=1;
Thread thisThread;
public void init(){
imgNumber=new Integer(getParameter("imgNumber")).intValue();
for (int x=0;x<imgNumber;x++)
{Image img=getImage(getDocumentBase(),"img"+(x+1)+".jpg");
images.addElement(img);
}
}

我觉得可以先给imgNumber=0;
然后还要判定
getParameter("imgNumber")是否为null
这样更好些




返回类别: 教程
上一教程: Structs的Tiles标签学习手记(一)
下一教程: Javamail中的常见中文乱码问题与解决办法(综合)

您可以阅读与"怎样避免NullPointerExceptions(原创)"相关的教程:
· 避免在Java中使用Checked Exception
· Spring Framework循序浅进(1)-原创
· Spring Framework循序浅进(2)-原创
· [原创] Eclipse 3.1M5a中创建RCP程序
· 一个最简朴的 JavaBeanMaker(原创)
    微笑服务 优质保证 索取样品