初学kotlin,怎么感觉比java繁琐好多

广寒月蛮兔 2020-03-16 11:05:03
一 . 冒号:
看着是真别扭,而且我的输入法默认是shift切换成中文,经常不小心打了全角的冒号;

var str : String = ""
fun inc(i: Int): Int {
    return i + 1
}

再看看java的同样代码,试问谁更简洁?

String str = "";
int inc(int i) {
return i + 1;
}




二. 返回值写在最后面
Kotlin经常会读到类似这种代码

fun kafkaTemplate(
        @Value("\${interactions.kafka.bootstrap-servers-dc1}") bootstrapServersDc1: String,
        @Value("\${interactions.kafka.bootstrap-servers-dc2}") bootstrapServersDc2: String,
        cloudMetadata: CloudMetadata,
        @Value("\${interactions.kafka.batch-size}") batchSize: Int,
        @Value("\${interactions.kafka.linger-ms}") lingerMs: Int,
        metricRegistry : MetricRegistry
): KafkaTemplate<String, ByteArray> {
    val bootstrapServer = if (cloudMetadata.datacenter == "dc1") {
        bootstrapServersDc1
    }
}

卧槽!我眼拙,是看了好久才找到狭缝中的返回值类型!!!!


三. 多元数组(这也是目前最糟糕的,不知道kt有没有其他简洁的写法)
先看看java定义多元数组

String[][][] strs = new String[2][3][4];

再看看kt定义多元数组?老天,这叫简洁?????

val a = Array(5) { Array<Array<String?>>(5) { arrayOfNulls(5) } }
...全文
429 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
建筑师 2020-03-28
  • 打赏
  • 举报
回复
还是c语言语法看着舒服
广寒月蛮兔 2020-03-17
  • 打赏
  • 举报
回复
引用 3 楼 韩曙亮 的回复:
不得不给你加薪
所以身为老板的人要注意了,如果你的工程师想用kotlin,赶紧阻止他
韩曙亮 2020-03-17
  • 打赏
  • 举报
回复
不得不给你加薪
韩曙亮 2020-03-17
  • 打赏
  • 举报
回复
你把 Android 程序里面逐渐使用 Kotlin 替代 , 然后发现老板找不人交接
广寒月蛮兔 2020-03-17
  • 打赏
  • 举报
回复
能不用kotlin就别用吧!真是个蛋疼的语言,目前我的感受是这门语言及其繁琐,就算真的能减少代码量,也是需要花点时间去研究学习。维护方面,现在java工程师桃李满天下,很容易招到一个合格的java工程师,但是招kt工程师就麻烦了
韩曙亮 2020-03-17
  • 打赏
  • 举报
回复
引用 4 楼 fring2012 的回复:
引用 3 楼 韩曙亮 的回复:
不得不给你加薪
所以身为老板的人要注意了,如果你的工程师想用kotlin,赶紧阻止他
这论坛里没有老板 , 都是码农
内容概要:本文提出了一种改进的各向异性引导滤波器,通过引入加权平均策略,在实现最大程度平滑扩散的同时有效保留图像中的强边缘特征,从而实现强各向异性滤波效果。该方法在继承传统引导滤波器计算效率高、运行稳定优势的基础上,进一步增强了边缘保持能力与结构感知性能,适用于图像去噪、细节增强、边缘提取和多尺度分解等任务。文中配套提供了完整的Matlab代码实现方案,便于算法复现与实际应用,具有较强的工程实用性与科研参考价值。; 适合人群:具备一定图像处理理论基础和Matlab编程能力,从事计算机视觉、图像增强或滤波算法研究的科研人员与工程技术人员,尤其适合攻读硕士、博士学位并聚焦于图像预处理方向的研究者。; 使用场景及目标:①在图像预处理阶段去除噪声干扰的同时保持关键结构信息;②作为高层视觉任务(如语义分割、目标检测)的前置模块以提升输入图像质量;③支持学术研究中的滤波算法对比实验与性能评估,助力高水平论文撰写与算法创新。; 阅读建议:建议读者结合所提供的Matlab代码深入理解加权机制与各向异性扩散原理,重点分析局部窗口内权重矩阵的构建方式及其对滤波性能的影响,并推荐与双边滤波、标准引导滤波等经典方法进行可视化对比,以全面掌握其优势与适用边界。
源码下载地址: https://pan.quark.cn/s/7f242081e14c 标题 "普中51-A2开发板资料.7z" 提供的信息表明,这是一个与普中51-A2开发板相关的资源包。 51单片机是微控制器领域中的一个经典系列,STC-89C52是51系列中的一个型号,常用于教学和入门级项目。 这个压缩包可能包含了一系列帮助用户理解和使用该开发板的材料。 描述中的"SHA256: B889D6FE71BF1CB25C67D57BE0854787F4D6902B20E2A1AF8FC9DEB66F4C7827"是文件的哈希值,用于验证文件的完整性和未被篡改,但具体知识点不在此范围内。 从标签来看,我们可以期待以下内容:1. **普中51-A2开发板**:这是一款基于51单片机的开发工具,可能包括硬件电路图、原理图、PCB设计文件等。 2. **STC-89C52**:这是51单片机的一个变种,具有增强的特性,如更多的I/O口、更大的内存等。 资料可能包含其数据手册、引脚定义、编程指南等。 3. **开发板**:可能包含开发板的使用手册、接线教程、初始化设置步骤等。 4. **51单片机**:基础理论、指令集、编程语言(如汇编或C语言)、中断系统、定时器/计数器的使用等。 5. **开发工具**:可能有Keil、Proteus、ISP编程软件等,这些工具用于编写、调试和烧录代码到单片机中。 从压缩包子文件的文件名称列表来看,我们可以深入学习以下内容:1. **普中51单片机开发攻略--A2.pdf**:这可能是开发板的用户指南或教程,涵盖基本操作、示例项目和常见问题解答。 2. **5--开发工具.rar**:可能包含开发环境的安装教程、配置指南和使用技巧。 3. **5--实验程序....

785

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 非技术区
android小程序微信小程序 技术论坛(原bbs)
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧