8

例如,何时使用

GetterUtil.getBoolean()

什么时候

ParamUtil.getBoolean()?

两者是相同的,还是预期根据参数、变量等以不同的方式使用?你能举一些例子吗?

4

2 回答 2

8

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

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

示例:
假设您有一个Stringvalue "true",并且您期望它始终是 type boolean。因此,您使用GetterUtil.getBoolean("true")which 将在内部进行转换为 boolen 并将值返回为boolean-true. 万一有人传递垃圾字符之类"tr"的,它将被转换为boolean-false.

如前所述ParamUtil,对参数进行相同的处理requestParamUtil内部使用GetterUtil具有上述行为。它首先检索参数(始终是字符串),然后将其传递给GetterUtil.getType()方法,然后返回正确的类型。

于 2012-08-16T19:34:21.257 回答
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

于 2012-08-16T17:57:49.633 回答