單挑:我正在寫內存中的一些內容,所以我可能會有一些不正確的概念。Kotlin內聯函數比Java匿名類更便宜嗎?
Java有能力編寫一個匿名函數。當你有某種事件的監聽器接口時,這很有用。舉個例子:
button.setOnClickListener(new View.OnClickListener(View v) {
@Override
public void onClick(View v) {
// handle the action here
}
});
匿名監聽器將被編譯爲一個名爲像OnClickListener$1.class
類。這是Java語言的基礎設計決定。一切都是一個對象,甚至是匿名函數。
當您想要編寫功能更強大的代碼庫時,這會成爲問題。大量的匿名類創建了大量的類數,這在受限平臺(如Android)中可能會遇到問題。
從源代碼的角度來看,Kotlin函數更爲頭等。我的問題是,Kotlin是否比Java對匿名類更有效地將這些函數編譯爲字節碼,還是會遇到與Java中的大類類相同的問題?
感謝,
嘿,我只是想說深深的迴應感謝。這正是我所期待的。 – Brad
@Brad不客氣,很高興我能提供幫助。 – hotkey
謝謝先生,我明白了。 –