Detect类是kotlin或java

Detect类是kotlin或java,java,kotlin,Java,Kotlin,我的很多库都是用java编写的。其中一些,我需要知道班级的类型。java有什么出路吗 类是Java还是Kotlin?由Kotlin编译器生成的类有一个Kotlin.Metadata注释,您可以通过反射读取:我想您可能会使用多种启发式方法和方法来获取正确的源文件名。可以直接读取.class文件并从中获取源文件的名称: ClassReader cr = new ClassReader(this.getClass().getName()); // Just so that we have so

我的很多库都是用java编写的。其中一些,我需要知道班级的类型。java有什么出路吗


类是Java还是Kotlin?

由Kotlin编译器生成的类有一个Kotlin.Metadata注释,您可以通过反射读取:

我想您可能会使用多种启发式方法和方法来获取正确的源文件名。可以直接读取.class文件并从中获取源文件的名称:

    ClassReader cr = new ClassReader(this.getClass().getName()); // Just so that we have some class to read here.
    ClassNode cn = new ClassNode();
    cr.accept(cn, ClassReader.SKIP_FRAMES | ClassReader.SKIP_CODE);
    LOGGER.info("class {} source file: {}", cn.name, cn.sourceFile);
上述用途


另一种可能是退回到@kotlin.Metadata注释。

接口,可能你想知道什么?@wilx我用线锚编写logcat输出,我需要知道如何放置.java或.ktso,如何从java获取它们?anObject.getClass.getAnnotationkotlin.Metadata.class