// 自定義的一個接口
interface OnTestCallback{
fun onTest()
}
// 用快捷方法生成接口內(nèi)的方法
setOnTestCallback(object :OnTestCallback{
override fun onTest() {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
})
上面的場景,小伙伴可能都不陌生,當我們用快捷方法去生成接口的方法時,會在方法內(nèi)出現(xiàn)這么一句話:
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
然后很多小伙伴可能就會置之不理,任由其存在,然后當我們走到setOnTestCallback(object :OnTestCallback{...})這一步時,就會發(fā)現(xiàn)程序崩潰,拋出異常?。@不驚喜:smile:)
以下是拋出的異常:
NotImplementedError: An operation is not implemented: not implemented
那么這是為啥呢?為啥呢?為啥呢?
我們一起看編譯后的java代碼
this.setOnTestCallback((Test.OnTestCallback)(new Test.OnTestCallback() {
public void onTest() {
String var1 = "not implemented";
throw (Throwable)(new NotImplementedError("An operation is not implemented: " + var1));
}
}));
看到這,大家都清楚了,koltin中的TODO會在編譯時,在java中生成一個拋出異常!所以,小伙伴們一定要記得刪除
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
這樣,就不會再報異常了!