4
我想發送條件語句(尚未評估)作爲方法的參數。我明白在java8,lambda表達式是做到這一點的方式(有效地將條件放在函數中,併發送函數)。如何將條件發送到使用lambda表達式的方法以使其尚未評估?
// simple method inside a utilities class
// that does assertions if global debug parameter is true
public class MyUtils
{
public static void do_assertions(boolean argb , String args)
{
if(BuildConfig.pvb_debuggable)
{ assert argb , args ;
}
}
}
// somewhere within app where a development-phase assertion is needed
public class some_class
{
public void some_method()
{
EditText lvo_editText = (EditText) findViewById("the_id") ;
//assert lvo_editText != null;
// ... replace this with a call to do_assertions
MyUtils.do_assertions(() -> { lvo_editText != null ; } , "bad EditText");
}
}
我已經試過這種設置的許多變化。我每次都會收到不同的錯誤:)
@ Jean-FrançoisSavard:看起來Android N平臺支持Java 8語言功能。 – scottb
我認爲你主要是正確的...開箱即用的AS2將處理jdk1.8。*,但實際上並不會啓用許多實際的java8功能(如lambda)......似乎存在一些選項:** 1 ** - > _啓用Java 8功能和Jack Toolchain_(http://developer.android.com/preview/j8-jack.html#configuration)... ...或** 2 ** - > _Android N引入了對Java 8語言特性的支持_(http://developer.android.com/preview/j8-jack.html#configuration .. ...就這樣說,你的答案似乎是......答案...謝謝... – dsdsdsdsd