有一个 Java 库的类,它有aVeryLongNameThatIDontWantToTypeEveryTime
. 这个类有一些具有通用名称的静态方法:get()
等abs()
。
现在我需要在我的 kotlin 代码中使用它们构建复杂的调用,如下所示:
aVeryLongNameThatIDontWantToTypeEveryTime.get(aVeryLongNameThatIDontWantToTypeEveryTime.abs(aVeryLongNameThatIDontWantToTypeEveryTime.get(...), aVeryLongNameThatIDontWantToTypeEveryTime.get(...)))
现在,我想使用本地范围功能,以免经常重复自己。但是,只需使用
with(aVeryLongNameThatIDontWantToTypeEveryTime) {
get(abs(get(...), get(...)))
}
不起作用:它抱怨 aVeryLongNameThatIDontWantToTypeEveryTime 没有伴随对象。(当然不是,它是一个 Java 类。)
唯一的“解决方案”是全局导入aVeryLongNameThatIDontWantToTypeEveryTime.*
文件,这不是很好,因为方法名称非常通用并且可能发生冲突。