例如,何时使用
GetterUtil.getBoolean()
什么时候
ParamUtil.getBoolean()?
两者是相同的,还是预期根据参数、变量等以不同的方式使用?你能举一些例子吗?
两者都是避免Null-Pointer Exceptions的实用方法。
GetterUtil内部返回默认类型并进行强制转换。因此,如果有人传递了一个null值,它将返回该类型的默认值。
示例:
假设您有一个Stringvalue "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