public Opt<T> peek(Consumer<T> action) throws NullPointerException {
		Objects.requireNonNull(action);
		if (isEmpty()) {
			return Opt.empty();
		}
		action.accept(value);
		return this;
	}
@Test
	public void peekTest() {
		User user = new User();
		// 相当于ifPresent的链式调用
		Opt.ofNullable("hutool").peek(user::setUsername).peek(user::setNickname);
		assertEquals("hutool", user.getNickname());
		assertEquals("hutool", user.getUsername());

		// 注意，传入的lambda中，对包裹内的元素执行赋值操作并不会影响到原来的元素
		String name = Opt.ofNullable("hutool").peek(username -> username = "123").peek(username -> username = "456").get();
		assertEquals("hutool", name);
	}