, T> Provider provider(P delegate) { return new DoubleCheck(delegate); } } DoubleCheckח ёܳ ೞա݅ ࢤࢿೠ.
, T> Provider provider(P delegate) { if (delegate instanceof DoubleCheck) { return delegate; } return new DoubleCheck(delegate); } public static
, T> Lazy lazy(P provider) { if (provider instanceof Lazy) { final Lazy lazy = (Lazy) provider; return lazy; } return new DoubleCheck(provider); } } DoubleCheck.provider() ≈ DoubleCheck.lazy()