public <U> Opt<U> mapOrElse(Function<? super T, ? extends U> mapper, VoidFunc0 emptyAction) {
		if (isPresent()) {
			return ofNullable(mapper.apply(value));
		} else {
			emptyAction.callWithRuntimeException();
			return empty();
		}
	}
@Test
	public void mapOrElseTest() {
		// 如果值存在就转换为大写，否则打印一句字符串，支持链式调用、转换为其他类型
		String hutool = Opt.ofBlankAble("hutool").mapOrElse(String::toUpperCase, () -> Console.log("yes")).mapOrElse(String::intern, () -> Console.log("Value is not present~")).get();
		assertEquals("HUTOOL", hutool);
	}