This repository has been archived by the owner on Aug 20, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 155
Reasons for use feilong core
feilong edited this page Jun 10, 2016
·
12 revisions
使用feilong-core的理由
- 国内中文注释最完善的中文JAVA API
- 国内最易用的JAVA API
- 有常用的工具类
- 有常用的JAVA常量
- 一些Exception转成了RuntimeException,可以减少非必要的代码
曾经,你调用每个api的时候,该api需要一个list参数, 但是你现在只有单对象
你需要这么写
List<Long> itemIds = new ArrayList<Long>();
itemIds.add(itemId);
sdkItemManager.findItemImageByItemIds(itemIds, null)
总感觉怪怪的, 很烦人
你现在可以这么写
sdkItemManager.findItemImageByItemIds(ConvertUtil.toList(itemId), null)
一行代码,轻松快乐的写代码
同样 下面的代码
List<Long> skuIds = new ArrayList<Long>();
skuIds.add(9L);
skuIds.add(10L);
skuIds.add(13L);
skuIds.add(18L);
skuIds.add(20L);
BundleValidateResult result = bundleManager.validateBundle(3L, skuIds, 10);
依然,可以简写
BundleValidateResult result = bundleManager.validateBundle(3L, ConvertUtil.toList(9L, 10L, 13L, 18L, 20L), 10);
代码的可读性更高,更简洁
都知道 JAVA 有 checked exception
和 uncheckedException
之分,也就是我们常说的 RuntimeException
和 Exception
checked exception
有其使用场景,但是我们日常开发中的 大部分是不需要特殊处理的
比如,大部分同学的代码都是 这样的
public ContactCommand toContactCommand(ContactCommand command) {
try {
BeanUtils.copyProperties(command, this);
} catch (Exception e){
LOGGER.error("", e);
//or e.printStackTrace();
}
return command;
}
其实细究下来,上述代码是不合理的, 如果转换的时候出现了异常,这里就会发生数据没有转换过去的情况,这理论上是 RuntimeException,但是 org.apache.commons.beanutils.BeanUtils
里面使用的是Exception
这时可以使用 com.feilong.core.bean.BeanUtil
public ContactCommand toContactCommand(ContactCommand command){
com.feilong.core.bean.BeanUtil.copyProperties(command, this);
return command;
}
代码简介,而且内部包装成的是 RuntimeException
,如果需要特殊处理,你依然可以 try...catch....