SuperAPI AI 工具集

java-kotlin-migration-assistant

编程与开发

查看项目

更新于 10-15 23:31

技能介绍

用途:在基于 Spring 的代码库中把 Java 代码迁移为 Kotlin,目标是提升长期可维护性而不引入语义漂移。优先行为等价,其次惯用清理,只有明确要求时才做大规模重构。

主要能力:按默认顺序迁移——测试与支持工具、无状态辅助类与内部类、服务与控制器、领域模型与 DTO、最后是实体与框架敏感类。翻译时保留公共行为,谨慎把字段加 getter/setter 转为属性,有意识地替换 Lombok(@Data、@Builder、@Slf4j),注意受检异常、注解目标与 Kotlin use-site target。

关键规则:跨入 Kotlin 的 Java 类型默认视为可疑,按契约而非猜测添加可空性,避免滥用 !!;区分内部不变量与外部兼容。Spring/JPA 方面需验证 @Transactional、@Cacheable、@Async、方法安全等代理敏感类,不要把 JPA 实体转为 data class,保留构造器、字段访问与相等语义,复查 @ConfigurationProperties、Jackson creator 与校验注解。

高级陷阱:默认参数会改变 Java 调用点与重载生成;Kotlin 属性可能改变方法签名、bean 内省与序列化;inline class、sealed 层级与大量作用域函数不适合首轮迁移;只读集合接口不等于底层不可变;equals/hashCode/toString 生成可能改变实体、缓存键与日志语义;库模块可能需要 @JvmStatic、@JvmOverloads、@JvmField 或显式重载。internal 是模块级字节码概念,接口默认方法、伴生对象、顶层函数、SAM 转换、原始类型、通配符变体、Optional、包装类型、数组与受检异常都需单独处理;kapt/KSP 与注解处理器会影响构建层面的迁移成功定义。

输出契约:迁移范围、行为不变量、Kotlin 翻译计划、框架约束、验证方式。护栏:不随意改公共 API 形态,不用 !! 掩盖不确定可空性,不把迁移与架构重构混在一起,不为惯用而牺牲框架正确性。

限制:资料未提供具体安装命令、收费方式、支持平台或版本要求。