使用GetterUtils和ParamUtils之间的区别

时间:2012-08-16 16:48:13

标签: api methods liferay

例如,何时使用

GetterUtil.getBoolean()

以及何时

ParamUtil.getBoolean()?

是否相同,或者根据参数,变量等预期使用不同?你能举两个例子吗?

2 个答案:

答案 0 :(得分:8)

两者都是避免Null-Pointer Exceptions的util方法。

GetterUtil在内部返回默认类型并执行转换。因此,如果有人传递了null值,它将返回该类型的默认值。

例:
假设您有String"true",并且您希望它始终为boolean类型。因此,您使用GetterUtil.getBoolean("true")将内部执行转换为boolen并将值返回为boolean-true。如果某人传递了"tr"等垃圾字符,则会将其转换为boolean-false

如上所述,ParamUtilrequest参数执行相同的处理。 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