例如,何时使用
GetterUtil.getBoolean()
以及何时
ParamUtil.getBoolean()?
是否相同,或者根据参数,变量等预期使用不同?你能举两个例子吗?
答案 0 :(得分:8)
两者都是避免Null-Pointer Exceptions的util方法。
GetterUtil
在内部返回默认类型并执行转换。因此,如果有人传递了null
值,它将返回该类型的默认值。
例:
假设您有String
值"true"
,并且您希望它始终为boolean
类型。因此,您使用GetterUtil.getBoolean("true")
将内部执行转换为boolen并将值返回为boolean-true
。如果某人传递了"tr"
等垃圾字符,则会将其转换为boolean-false
。
如上所述,ParamUtil
对request
参数执行相同的处理。 ParamUtil
在内部使用GetterUtil
来执行上述操作。它首先检索参数(总是一个字符串),然后将其传递给GetterUtil.getType()
方法,然后返回正确的类型。
答案 1 :(得分:2)
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