V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qwerthhusn
V2EX  ›  问与答

“精通” Java ,学习 Kotlin 的话需要很久吗?

  •  1
     
  •   qwerthhusn · 2020-08-07 11:16:00 +08:00 · 3815 次点击
    这是一个创建于 1599 天前的主题,其中的信息可能已经有所发展或是发生改变。

    做了好几年的 Java 增删改查,Java 8 的 Lambda 语法很熟悉,Java 8 到 11 新出的各种 API ( var,stream,新的日期时间 API,一些工具类代替)也都比较熟悉。

    这种情况下,学习 Kotlin 能到实际项目中应用的程度,需要多久?成本或者难度很高吗??

    现在就简单翻了下文档,还没系统学习,感觉各种各样的语法糖挺有意思,但是看完没一会就忘光了。

    21 条回复    2020-08-07 18:33:53 +08:00
    wysnylc
        1
    wysnylc  
       2020-08-07 11:35:55 +08:00
    jdk8-jdk15 我都挺熟,感觉没必要用 kt 因为好用的 jdk 后面都会抄过来
    kt 毕竟不是 jvm 亲儿子,java 才是
    Nanosk
        2
    Nanosk  
       2020-08-07 11:39:47 +08:00
    我反正 java 用的很熟了,kotlin0 基础,拿一个 kotlin 项目过来看的有点懵。很多语法都不懂
    glaucus
        3
    glaucus  
       2020-08-07 11:53:32 +08:00
    很快,了解一下 Kotlin 的基本语法和特性后就可以试着写了
    qwerthhusn
        4
    qwerthhusn  
    OP
       2020-08-07 11:56:28 +08:00
    @wysnylc 抄过来但是没法立即用上啊,下一个 LTS 是 17,明年才发布,而且新 LTS 要稳定个一年,而且新 lts 发布到稳定下来也要很久。。现在 12-15 的新特性我看都没看,因为也暂时用不到。但是 KT 就不一样了,学会了,后面万一下岗了还能转安卓快一点,多一条路
    qwerthhusn
        5
    qwerthhusn  
    OP
       2020-08-07 11:59:06 +08:00
    @glaucus 问一下,已经的 Java 项目可以新代码用 kt,旧代码继续用 java,然后还能相互调用的吗?我感觉是可以的,但是不确定,因为我看那个 okhttp 自从 3.14.0 之后全变成 kt 了,但是 Java 工程好像也能正常用
    sagaxu
        6
    sagaxu  
       2020-08-07 12:30:47 +08:00 via Android
    17 年花了一个周末学了一下,然后就开始逐步替换掉项目里的 Java 代码,花了几个月把整个项目改成了 Kotlin 。
    DeweyReed
        7
    DeweyReed  
       2020-08-07 12:37:14 +08:00
    没问题。Google 新出的 Android 教程都是直接让新手用 Kotlin 。和 Java 的互相调用,主要用几个 Annotation 就够了。
    难度主要在于如何劝说团队 /上级使用 Kotlin 。
    Jirajine
        8
    Jirajine  
       2020-08-07 12:45:12 +08:00 via Android
    kotlin 只是给 Java 加糖,它们之间是完全、100%的 interoperable,直接导入就行了。
    zhgg0
        9
    zhgg0  
       2020-08-07 13:01:24 +08:00
    真的"精通",瞬间就够了。
    Rwing
        10
    Rwing  
       2020-08-07 13:37:12 +08:00
    不考虑一下 C# 吗?🤭
    gz911122
        11
    gz911122  
       2020-08-07 13:54:25 +08:00
    @qwerthhusn
    #5 可以的
    ohao
        12
    ohao  
       2020-08-07 14:01:59 +08:00 via iPhone
    看培训班广告,统统都 7 天
    Kamiyu0087
        13
    Kamiyu0087  
       2020-08-07 14:51:30 +08:00
    按 LZ 你的自我描述,一个礼拜绰绰有余了
    glaucus
        14
    glaucus  
       2020-08-07 14:55:44 +08:00
    @qwerthhusn #5 不知道为啥没提醒.....可以的哈,100%互通,只是调用起来肯定会有一些双方语法用法看起来比较别扭的东西,以及 Java 调用 Kotlin 的时候会有一些隐藏知识,到时候具体问题搜一下就好了
    knva
        15
    knva  
       2020-08-07 15:18:03 +08:00
    学都可以学
    micean
        16
    micean  
       2020-08-07 15:23:31 +08:00
    自己的亲身经历,三个晚上吧
    kaedea
        17
    kaedea  
       2020-08-07 15:43:41 +08:00 via Android
    精通 Java,到精通 Kotlin 只要 10 分钟,另外再花 30 分钟学习 Kotlin Coroutine
    unco020511
        18
    unco020511  
       2020-08-07 17:18:05 +08:00
    挺快的
    ZSeptember
        19
    ZSeptember  
       2020-08-07 17:56:12 +08:00
    这个都不能判断,我觉得真是“精通”
    a1562619919
        20
    a1562619919  
       2020-08-07 18:32:38 +08:00 via Android
    大部分代码都能直接机翻,说明难度低
    a1562619919
        21
    a1562619919  
       2020-08-07 18:33:53 +08:00 via Android
    @a1562619919 如果不用 kt 独有的特性
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5852 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:38 · PVG 10:38 · LAX 18:38 · JFK 21:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.