使用GetterUtils和ParamUtils之间的区别

Whi*_*cal 8 api methods liferay

例如,何时使用

GetterUtil.getBoolean()
Run Code Online (Sandbox Code Playgroud)

什么时候

ParamUtil.getBoolean()?
Run Code Online (Sandbox Code Playgroud)

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

San*_*air 8

两者都是util方法来避免Null-Pointer Exceptions.

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

示例:
假设您有一个String"true",并且您期望它始终是类型boolean.所以你使用GetterUtil.getBoolean("true")哪个将在内部进行铸造以使其失效并将值返回为boolean-true.如果有人通过垃圾字符"tr",它将被转换为boolean-false.

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