有没有一种语言或者模式能解决判null问题

宝石娃娃 发布于 2013/05/06 16:16
阅读 570
收藏 2

现在编程语言在处理一些特殊模式时候让人很头疼。

比如一个多层深度节点的pojo(bean).我想判断Obj.getObj().getObj().getObj() 是不是null 就要依次判断他的父节点是不是null。 代码写起来很难看。但从java,c看这类逻辑问题几乎无解

@红薯

加载中
0
抛出异常的爱
抛出异常的爱

Beanutils

Set set  = BeanUtils.getProperty(emp, "boss.dept.emps");

1
ling0
ling0

NULL OBJECT 模式 就是为解决此类问题的。

还有对于这样的问题, 可以交给异常处理,代码也可以很清晰。

1
ling0
ling0

或者自己定义封装这样的调用,传代理进去,也是可以的。除了封装的地方要判断,其它的代码就可以很清晰了。

1
魔力猫
魔力猫
一个重要问题,你这么深入一个类的内部,是否有数据封装设计问题。
0
宝石娃娃
宝石娃娃
我想了1小时累死了
0
hello_152
hello_152
既然无解,那就重新界定问题呗~哈哈
0
紫_絮
紫_絮
不能利用try catch null point exception 吗
0
梅开源
梅开源

php?

http://php.net/manual/zh/language.types.null.php

http://php.net/manual/en/function.is-null.php

如果要在java里玩,试试quercus(直接装个resin即可玩)


0
宝石娃娃
宝石娃娃

引用来自“ling0”的答案

NULL OBJECT 模式 就是为解决此类问题的。

还有对于这样的问题, 可以交给异常处理,代码也可以很清晰。

object Null 模式貌似在我说的情况下不合适吧。 1:你在nullImpl 的方法依然要判断各个null 异常

2:利用异常抛出貌似eccictive java 上说不建议这样做,因为这样使得jvm没法优化。

3:利用代理方法的话,你能说说思路吗,你传入的对象怎么知道它是否有父节点?有几个?

另外谢谢回答 你的答案最靠谱。@红薯

0
宝石娃娃
宝石娃娃

引用来自“魔力猫”的答案

一个重要问题,你这么深入一个类的内部,是否有数据封装设计问题。
我有解析大量xml,用xmlBeans 需要不停的判断节点是否null
返回顶部
顶部