在Kotlin开发中,即使Long类型较大,int类型的数值也不会自动转换为long类型。这与Java处理数字转换的方式不同。例如;
在Java中
int number1 = 102;
long number2 = number1; //有效代码
这里,number1类型的 int 值自动转换为类型long,并分配给变量number2。
在Kotlin,
val number1:Int =102
val number2:Long = number1 //错误:类型不匹配。
虽然Long的大小大于Int,但Kotlin不会自动将Int转换为Long。
相反,Kotlin为了避免意外而确保其安全性,需要 toLong() 显式使用(转换为Long类型 )。。
val number1:Int =102
val number2:Long = number1.toLong()
在Kotlin开发中,即使Long类型较大,int类型的数值也不会自动转换为long类型。这与Java处理数字转换的方式不同。例如;在Java中int number1 = 102;long number2 = number1; //有效代码这里,number1类型的 int 值自动转换为类型long,并分配给变量number2。在Kotlin,val number1:Int =10...
在Kotlin中,一种类型的数值不会自动转换为另一种类型,即使另一种类型更大。
接下来我们定义两个变量一个int型的a并且进行赋值,一个定义long型的,并把a赋值给b,也就是吧int型的值赋值给long的变量看可不可以?
var a:Int = 4
var b:Long = a
上面的代码是编辑器中是标红的,提示类型不匹配,需要把b的类型由Long(64位)型修改成Int(32位)才行,当我把类型替换后,错误就消失了。从编辑器的代码中就可以看的出来,低位类型的值不能赋值给高位类型的变量,
前言kotlin入门需要了解的基础知识。Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等。
不同于Java的是,字符不属于数值类型,是一个独立的数据类型。
位宽度 Double
Float
Short
字面常量下面是所有类型
fun main(args: Array<String>) {
println(Long.MIN_VALUE)
println(Long.MAX_VALUE)
// val lT: Long = -9223372036854775808L //64位 -...
目录1.Kotlin的基本数据类型2.字面常量3.比较两个数字大小4.类型转换
1.Kotlin的基本数据类型
Byte、Short、Int、Long、Float、Double\n\n不同于Java,字符不属于数值类型,是一个独立的数据类型。
2.字面常量
十进制:123
长整型:123L
16进制以0x开头:0x0F
2进制以0b开头:
注:不支持8进制
Double写法:123.5,123.5e10
Floats使用f或F后缀:123.5f
3.比较两个数字大小
Kotlin中没有基础数据类型,只有封装
在Kotlin中,有两种类型转换方式:智能类型转换和强制类型转换。智能类型转换是指在特定情况下,Kotlin编译器会自动推断变量的类型,无需显式进行类型转换。这种类型转换在编译期间完成,并且只适用于不同类型之间的子类型关系。例如,当将一个子类型的对象赋值给父类型的变量时,Kotlin会自动将其转换为父类型。
另一种类型转换方式是强制类型转换,使用as和as?操作符进行。强制类型转换需要显式指定要转换的类型,并且在运行时进行类型检查和转换。当无法进行智能类型转换时,可以使用强制类型转换。需要注意的是,如果强制类型转换失败,会抛出ClassCastException异常。而使用as?操作符可以避免抛出异常,当转换失败时会返回null。
下面是一个示例代码,演示了如何在Kotlin中进行类型转换:
```kotlin
fun main(args: Array<String>) {
var a: Any = "1"
var b: String = a as String // 强制将a转换为String类型
println(b.length)
在上述代码中,变量a的类型为Any,通过使用as操作符将其强制转换为String类型,然后可以访问String类型的属性和方法,如示例中的b.length。
总结起来,Kotlin中的类型转换有智能类型转换和强制类型转换两种方式。智能类型转换适用于子类型关系,而强制类型转换使用as和as?操作符进行,可以在特殊情况下进行类型转换。
Android 10.0 关于定制自适应AdaptiveIconDrawable类型的动态时钟图标的功能实现系列二(拖动到文件夹部分功能实现)
安卓兼职framework应用工程师:
Android 10.0 关于定制自适应AdaptiveIconDrawable类型的动态日历图标的功能实现系列一
安卓兼职framework应用工程师:
Android 9.0 mtp模式下连接pc后显示的文件夹禁止删除copy重命名功能实现
安卓兼职framework应用工程师:
Android 9.0 mtp模式下连接pc后显示的文件夹禁止删除copy重命名功能实现
安卓兼职framework应用工程师:
Android 9.0 mtp模式下连接pc后显示的文件夹禁止删除copy重命名功能实现
安卓兼职framework应用工程师: