public static <T, R extends Collection<T>> Opt<R> ofEmptyAble(R value) {
		return ObjectUtil.isEmpty(value) ? empty() : new Opt<>(value);
	}
@Test
	public void ofEmptyAbleTest() {
		// 以前，输入一个CollectionUtil感觉要命，类似前缀的类一大堆，代码补全形同虚设(在项目中起码要输入完CollectionUtil才能在第一个调出这个函数)
		// 关键它还很常用，判空和判空集合真的太常用了...
		List<String> past = Opt.ofNullable(Collections.<String>emptyList()).filter(CollectionUtil::isNotEmpty).orElseGet(() -> Collections.singletonList("hutool"));
		// 现在，一个ofEmptyAble搞定
		List<String> hutool = Opt.ofEmptyAble(Collections.<String>emptyList()).orElseGet(() -> Collections.singletonList("hutool"));
		assertEquals(past, hutool);
		assertEquals(hutool, Collections.singletonList("hutool"));
	}