Java Kotlin:无法按需从对象导入

Java Kotlin:无法按需从对象导入,java,kotlin,Java,Kotlin,我正在尝试创建一个库,您可以通过“静态导入”(在Kotlin中按需导入)调用对象的函数。不幸的是,Kotlin似乎有一个局限性,如下所示 为什么这是一个限制?我能做些什么来绕开它吗?(我尝试过使用一个带有伴生对象的类,在这种情况下,函数甚至无法解析。)如果我理解正确的话,Sparkot是您的Kotlin类。 对象可能会从超类型继承内容,例如,equals(),hashCode()将在每次从对象*导入时导入,并且决定这将过于混乱 *-导入仅适用于Java对象。虽然不能直接从Kotlin对象导入包

我正在尝试创建一个库,您可以通过“静态导入”(在Kotlin中按需导入)调用
对象的函数。不幸的是,Kotlin似乎有一个局限性,如下所示


为什么这是一个限制?我能做些什么来绕开它吗?(我尝试过使用一个带有伴生对象的类,在这种情况下,函数甚至无法解析。)

如果我理解正确的话,Sparkot是您的Kotlin类。 对象可能会从超类型继承内容,例如,
equals()
hashCode()
将在每次从对象*导入时导入,并且决定这将过于混乱


*-导入仅适用于Java对象。

虽然不能直接从Kotlin对象导入包.KotlinObject.
,但可以导入包。*。为了避免不必要或不明确的导入,只需创建一个新的包,在原始
.kt
文件中声明要导入的类、变量或扩展,然后根据需要从父包导入。

Sparkot
是一个Kotlin对象,一个单例类,Kotlin只支持按名称导入对象的单个成员,而不支持*-导入。IDE对此很有帮助。至少听听这个决定背后的想法是很有帮助的,但这个限制正是我现在决定取消将Kotlin转换回Java的原因。Kotlin是一种有助于为IntelliJ创建语言插件的语言,它确实是这样,但在这一点上它肯定不是。几乎所有使用IElementType holder类的人都希望将其所有符号导入到大量使用该类且没有冲突的地方(如果他们重视没有腕管疼痛的生活,也就是说)。。。IIRC我想我甚至可能看到JetBrains开发的插件从他们的IElementType holder类的/sub类直接降下来就是为了绕过这个问题,而不是帮助这个特定场景。这样一种变通办法肯定是没有效率的,而且肯定比这一理由试图避免的情况更糟糕。我不是说我不明白限制背后的想法。。。只是讨论它可能带来的伤害比帮助更大。“只要他们需要使用它,就从他们的IElementType holder类中下课”*这个imo更有用answer@ElSushiboi很高兴你发现它很有用!