博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
认识一下Kotlin语言,Android平台的Swift
阅读量:4633 次
发布时间:2019-06-09

本文共 1869 字,大约阅读时间需要 6 分钟。

今天在CSDN首页偶然看到一个贴子

看完后,感觉Kotlin语法非常简洁,有一系列动态语言的特点,Lambda表达式。高阶函数。闭包,甚至有静态语言的类型检查,最核心的一点,写相同的功能。Kotlin 的代码量要少非常多。

下面是JAVA的一个数据类

public class Artist {    private long id;    private String name;    private String url;    private String mbid;    public long getId() {        return id;    }    public void setId(long id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getUrl() {        return url;    }    public void setUrl(String url) {        this.url = url;    }    public String getMbid() {        return mbid;    }    public void setMbid(String mbid) {        this.mbid = mbid;    }    @Override public String toString() {        return "Artist{" +                "id=" + id +                ", name='" + name + '\'' +                ", url='" + url + '\'' +                ", mbid='" + mbid + '\'' +                '}';    }}

假设是C# 3.0及以上呢。你不会看到一堆Set(),Get()方法,相比更简洁

public Class xxxx{    public int AAAA {
set;get;} public string BBBB {
set;get;} ......}

可是Kotlin的代码实在是太简洁了,比C#还胜一筹

data class Artist(    var id: Long,    var name: String,    var url: String,    var mbid: String)

再举一个样例,在使用JAVA开发Android App的时候。要获取Activity中的控件总是要调用findViewById

private ShimmerTextView mActionBarTitle; mActionBarTitle = (ShimmerTextView) view.findViewById(R.id.tv_shimmer);

这种写法非常的累赘和让人厌烦。还得先定义一个控件类型,调用findViewById来获取控件对象,可是在Kotlin中findViewById方法被彻底抛弃了。比方说有一个Activity里面有一个TextView,它的ID为myMessage,那么在Kotlin中能够导入它

import kotlinx.android.synthetic.another_activity.myMessage

如今你能够通过使用id来訪问TextView,就像该TextView是Activity类的一个属性一样。比如,改动TextView显示的字符串:

myMessage.setText("Hello")

那假设要訪问非常多控件呢?一个个导入还是非常麻烦,这个时候能够选择导入Activity上的全部控件

import kotlinx.android.synthetic.another_activity.*

以上的样例我基本节选例如以下的几篇文章

转载于:https://www.cnblogs.com/llguanli/p/8439093.html

你可能感兴趣的文章
尼克的任务 dp 洛谷1280
查看>>
解决xcode ***is missing from working copy
查看>>
hadoop学习之旅1
查看>>
MVC 中的 ViewModel
查看>>
第四周内容
查看>>
机器学习
查看>>
GTONE清理维护建议方案
查看>>
[bbk4967]第73集 第9章 -数据库性能维护 00
查看>>
Noip2017 跳房子——普及组
查看>>
begin.lydsy 入门OJ题库:1104:纯粹合数
查看>>
builder-theory.cs
查看>>
如何使用JPA注解标注多对多的关系
查看>>
Cassandra 1.2 发布,NoSQL 数据库
查看>>
DataCleaner 3.1.1 发布,数据质量分析管理
查看>>
不同的source control下配置DiffMerge
查看>>
memcached和redis的区别和应用场景
查看>>
【sping揭秘】6、IOC容器之统一资源加载策略
查看>>
转:AbstractQueuedSynchronizer的介绍和原理分析
查看>>
centos 6.8 启动损坏修复实验
查看>>
修改或隐藏Nginx的版本号
查看>>