Runnable::new vs new Runnable()
Your run method takes a Runnable instance, and that explains why run(new R()) works with the R implementation. R::new is not equivalent to new R(). It can fit the signature of a Supplier<Runnable> (or similar functional interfaces), but R::new cannot be used as a Runnable implemented with your R class. A version of your run … Read more