public <U> Opt<U> flattedMap(Function<? super T, ? extends Optional<? extends U>> mapper) {
		Objects.requireNonNull(mapper);
		if (isEmpty()) {
			return empty();
		} else {
			return ofNullable(mapper.apply(value).orElse(null));
		}
	}
@Test
	public void flattedMapTest() {
		// 和Optional兼容的flatMap
		List<User> userList = new ArrayList<>();
		// 以前，不兼容
//		Opt.ofNullable(userList).map(List::stream).flatMap(Stream::findFirst);
		// 现在，兼容
		User user = Opt.ofNullable(userList).map(List::stream)
				.flattedMap(Stream::findFirst).orElseGet(User.builder()::build);
		assertNull(user.getUsername());
		assertNull(user.getNickname());
	}