fun main() { val invalidString = "abc" try { val number = invalidString.toInt() println("转换后的整数是: $number") } catch (e: NumberFormatException) { println("无法将字符串转换为整数: ${e.message}") } } 问题:字符串表示的数字超出Int范围 原因:字符串表示的数字太大,超出了Int类型的...
在这些字符串处理方法里面,唯一的区别是split方法的返回值,在Java中,split方法返回的是String数组,即String[];但在Kotlin中,split方法返回的是String队列,即List<String>。下面是Kotlin使用split方法的示例代码: btn_split.setOnClickListener { var strList:List<String> = origin.split(".") var strResult:String...
str := “123” // string 转 int i, err := strconv.Atoi(str) if err == nil { ...
在Kt中也是如此的,在运行时候,我们没办法区别List<Int>和List<String> 但是kt 中提供了一种有局限的解决方法!通过inline和reified两个关键字,来支持真泛型函数!但是也是有局限的! // 我们 使用了内联 和真泛型inlinefun<reifiedT>isInstance(obj:Any?):Boolean{if(obj==null)returnfalsereturnobjisT}funmain(arg...
fun List<String>.getShortWordsTo(shortWords: MutableList<String>, maxLength: Int) { this.filterTo(shortWords) { it.length <= maxLength } // throwing away the articles val articles = setOf("a", "A", "an", "An", "the", "The") ...
String name = javaInterface.getStuName(); int age = javaInterface.getStuAge(); } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 定义了接口,该接口有两个方法,分别是获取学生姓名和年龄。 在类里定义一个方法,该方法参数为接口类型,方法内部通过接口对象获取姓名和年龄。
我们从前面文章知道,在定义泛型类的时候会定义泛型形参,要想拿到一个合法的泛型类型就需要在外部使用地方传入具体的类型实参替换定义中的类型形参。我们知道在Kotlin中List是一个类,它不是一个类型。由它可以衍生成无限种泛型类型例如List<String>、List<Int>、List<List<String>>、List<Map<String,Int>>...
在上面的代码中,我们为 String 类型起了两个别名,UserName 和 Password。这样在函数参数中使用别名可以使代码更具有可读性。 in 运算符 Kotlin 中的 in 运算符可以用于判断一个元素是否在一个区间、集合或数组中。例如: 登录后复制val numbers = listOf(1,2,3,4,5)if(3in numbers) {println("3 is in th...
valthirdFlow = listOf(5,6).asFlow() // 挨个收集,消费者 firstFlow.collect { println(it) } secondFlow.collect { println(it) } thirdFlow.collect { println(it) } } 从这段代码中我们可以发现,Flow 的创建方式多样,如使用flowOf、flow、as...
// code 1dataclassBook(valid:Int,valname:String){} Kotlin 代码就这么点,然后再看看为我们生成的 Java 代码:(如何查看生成的 Java 代码?找到 AndroidStudio 的 Tools 选项,依次选 Kotlin、show Kotlin ByteCode,然后在新出现的代码窗口点击 Decompile 就可以看到生成的 Java 代码了) ...