文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>空对象

空对象

时间:2010-07-17  来源:yourenyouyu2008

问:

关于返回值, null, 和空对象的处理?

当函数的返回值的签名为对象,函数的最终结果为空时,是该返回null还是一个空对象呢?

我的程序遇到一个这样的问题,在Builder类中有一个函数

public String buildA(List infoData), 当计算结构为空是该返回null还是""呢?

在Director其中组装产品时会重复调用这个函数,当返回null时,每次都要检查这个对象是否

为空,因为结果要添加到StringBuffer中, 当返回""时, 不需要检查是否为空,直接添加即可,

公司的高手是返回null,每次都检查,感觉这样做很烦琐。

答:

返回null这种习惯估计是从C/C++中带来的.
我的处理是除非在某些场合下null也有其意义的时候才返回null.
否则要么返回一个empty的对象,要么抛出一个异常.

public String buildA(List infoData)
这种情况返回""是恰当的也是符合逻辑的.

hibernate相关处理

使用了空对象模式,应用不需要进行null判断

load

WfcpErrsinfomy=session.load(WfcpErrsinfo.class,111);

my.getA();

load返回的是MyCla的代理类实例,当没有对应的主键时也不为null,而是个空的代理类,当调用任何方法时就抛出异常。

org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [cn.ccb.wfcp.bo.brules.WfcpErrsinfo#1111]


createQuery.list

List list = session.createQuery("from WfcpErrsinfo bo where bo.reId=11111").list();
System.out.println(list.size());//
当没有记录时返回空的list ,list.size()==0.

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载