如何使用Lamba表达式使Java方法调用在Kotlin中不那么冗长?

下面的函数可以用Lambda表达式来减少冗余吗? 我如何修剪它? 它调用FilenameFilter.accept() Java方法。

 val files = File(SECTIONS_DIR).listFiles(object : FilenameFilter { override fun accept(dir: File?, filename: String): Boolean { if (filename.matches(regex)) return true else return false } }) 

我不确定Kotlin的语法,但是你可以通过直接返回布尔表达式来修剪它,消除了if

 val files = File(SECTIONS_DIR).listFiles(object : FilenameFilter { override fun accept(dir: File?, filename: String): Boolean { return filename.matches(regex) } }) 

我相信Kotlin lambda语法看起来像这样:

 val files = File(SECTIONS_DIR).listFiles { dir, filename -> filename.matches(regex) } 

编辑:根据谢尔盖·马什科夫的反馈删除不必要的括号。 谢谢!

澄清最短的形式:

 val files = File(SECTIONS_DIR).listFiles { dir, filename -> filename.matches(regex) }