• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Kotlin中变量不同于Java: var 对val(KAD 02),kotlinkad

Kotlin中变量不同于Java: var 对val(KAD 02),kotlinkad

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了kotlin var val,kotlin val,kotlin,kotlin教程,kotlin android等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Kotlin中变量不同于Java: var 对val(KAD 02),kotlinkad


原文标题:Variables in Kotlin, differences with Java. var vs val (KAD 02)

作者:Antonio Leiva

时间:Nov 28, 2016

原文链接:http://antonioleiva.com/variables-kotlin/

 

Kotlin系列课程的第二课:Kotlin中变量不同于Java: var 对val。

在这第二章节中,我们将了解Kotlin中变量是怎样工作的,什么是val和var,什么时间使用它们。

 

我从这开始,是因为理解这部分内容对后续讨论怎样在类中创建“字段”时非常有用(还可了解它们不是字段)。

 

Kotlin变量

如Java那样,只要在变量的范围内执行代码,Kotlin变量就可以被赋值、修改,在程序中不同位置被使用。

 

但是,我们将聚焦在它与Java不同的方面。

 

  • 变量分可变的和不可变的

在Java中也分可变与不可变(如果不希望变量被改变,可将变量说明为final),但是在Kotlin中,更简洁的、更常用的是:只要可能,在Kotlin中首选时不变值。

 

事实上,在程序中大部分地方使用不可变的变量,可带来很多益处,如:可预测的行为和线程安全。

 

  • 用val或var声明变量,指明它们是不可变的或可变的

在Kotlin中有趣的是大部分情况你不需要说明你使用对象的类型,而编译器就是推断它。

 

所以,我们只需要依据要产生的变量类型填写var或val,其类型通常能够被推断出来。我们也可以明确地指定变量类型。

 

一些例子:

1 var x = 7
2 var y: String = "my String"
3 var z = View(this)

说明:如你所见,你不需要用new来创建对象的新实例。

 

  • 类型转换是自动完成的

无论何时,编译器能够检测没有其它可选项,自动地完成类型转换。非常棒!

1 val z: View = findViewById(R.id.my_view)
2 
3 if (z is TextView) {
4     z.text = "I've been casted!"
5 }

看见我没有调用setText()吗?这将在下一篇说明!

 

  • 在Kotlin中,所有都是对象

没有基本类型,没有void。如果有时没有返回值,实际时返回Unit对象。大多数情况下,Uint可以省略,但是它确实存在的,被隐藏了。

 

因此,所有这些比哪里都是对象:

1 val x: Int = 20
2 val y: Double = 21.5
3 val z: Unit = Unit

 

  • 简洁的数字类型不能赋值给复杂的类型

例如,整形不能赋值长变量。下面的代码不能通过编译:

1 val x: Int = 20
2 val y: Long = x

 

你需要明确的进行转换:

1 val x: Int = 20
2 val y: Long = x.toLong()

 

结论

这些是在Java和Kotlin之间能够找出的明显不同之处。通常,Kotlin变量提供更加灵活的、安全的(由于任何可能时用val约定)和更清晰的、简洁的代码。

 

仍有疑问?准备阅读下篇!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Kotlin中变量不同于Java: var 对val(KAD 02),kotlinkad

相关文章

  • 2017-05-26Android Butterknife 8.4.0 使用方法总结,butterknife8.4.0
  • 2017-05-26对沉浸式状态栏的理解,沉浸式状态栏理解
  • 2017-05-26安卓的主要几大布局,安卓布局
  • 2017-05-26手机安全卫士——闪屏页相关处理,手机安全卫士
  • 2017-10-10Android数据存储之SQLite
  • 2017-05-26Android--Activity四种启动模式
  • 2017-05-26AsyncTask源码探究,asynctask源码
  • 2017-05-26android 管理wifi,androidwifi
  • 2017-05-222.2.3 TableLayout(表格布局)
  • 2017-05-26源码解析Android中AsyncTask的工作原理

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 电商常用的正则表达式,字符串,地址操作,电商正则表达式
    • Android网络编程(三)Volley用法全解析
    • [android] 手机卫士设置向导页面,android向导
    • 如何编写高效的android代码
    • 硅谷新闻1--引导界面GuideActivity,1--guideactivity
    • 极其简单的搭建eclipse的android开发环境,搭建eclipseandroid
    • 手游助手应用源码项目,游助手源码项目
    • Android Studio项目提交到GitHub,androidgithub
    • 安卓DJ113舞曲网应用客户端 项目源码(服务器+客户端),安卓dj113
    • Android 5.0(棒棒糖))十大新特性,android新特性

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有