Skip to content
This repository has been archived by the owner on Aug 20, 2021. It is now read-only.

Reasons for use feilong core

feilong edited this page Jun 10, 2016 · 12 revisions

使用feilong-core的理由

  1. 国内中文注释最完善的中文JAVA API
  2. 国内最易用的JAVA API
  3. 有常用的工具类
  4. 有常用的JAVA常量
  5. 一些Exception转成了RuntimeException,可以减少非必要的代码

"看一眼你就会爱上他"的方法

1.ConvertUtil.toList(T...)

曾经,你调用每个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 exceptionuncheckedException 之分,也就是我们常说的 RuntimeExceptionException 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....