例如,何时使用
GetterUtil.getBoolean()
什么时候
ParamUtil.getBoolean()?
两者是相同的,还是预期根据参数、变量等以不同的方式使用?你能举一些例子吗?
两者都是避免Null-Pointer Exceptions的实用方法。
GetterUtil
内部返回默认类型并进行强制转换。因此,如果有人传递了一个null
值,它将返回该类型的默认值。
示例:
假设您有一个String
value "true"
,并且您期望它始终是 type boolean
。因此,您使用GetterUtil.getBoolean("true")
which 将在内部进行转换为 boolen 并将值返回为boolean-true
. 万一有人传递垃圾字符之类"tr"
的,它将被转换为boolean-false
.
如前所述ParamUtil
,对参数进行相同的处理request
。ParamUtil
内部使用GetterUtil
具有上述行为。它首先检索参数(始终是字符串),然后将其传递给GetterUtil.getType()
方法,然后返回正确的类型。
GetterUtil 和 ParmUtil 都是不同的类。
GetterUtil 用于获取基本 Java 数据类型的默认值。
ParamUtil 用于从 HttpReqeust 中检索(原始数据类型的)值。
在此处查看这两个类的源代码
对于 GetterUtil http://docs.liferay.com/portal/6.0/javadocs/src-html/com/liferay/portal/kernel/util/GetterUtil.html
对于 ParamUtil http://docs.liferay.com/portal/5.1/javadocs/portal-kernel/com/liferay/portal/kernel/util/ParamUtil.java.html