As to your second question, yes, you can cast a lambda to explicitly specify it's target SAM type:
obj.method((Runnable)(()=> println("oh hai !")));
As to your second question, yes, you can cast a lambda to explicitly specify it's target SAM type: