首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么像(String).showAsToast()这样的kotlin函数不能工作?

像(String).showAsToast()这样的kotlin函数不能工作的原因是因为该函数并非Kotlin标准库中的函数,也不是Kotlin语言本身提供的函数。因此,调用该函数会导致编译错误或运行时错误。

Kotlin是一种静态类型的编程语言,它提供了丰富的标准库函数和扩展函数,用于操作字符串、集合、IO等常见的编程任务。但是,Kotlin并没有提供名为showAsToast()的函数。

如果想要在Kotlin中显示一个Toast消息,可以使用Android的Toast类提供的方法。例如,可以使用以下代码在Android应用中显示一个Toast消息:

代码语言:txt
复制
Toast.makeText(context, "Hello, World!", Toast.LENGTH_SHORT).show()

上述代码中,makeText()函数用于创建一个Toast对象,接受三个参数:上下文对象、要显示的文本内容和显示时长。然后,调用show()方法将Toast消息显示出来。

需要注意的是,上述代码中的context参数需要根据具体的应用场景进行替换,可以是Activity对象或者Application对象。

关于Toast的更多信息和使用方法,可以参考腾讯云的文档:Toast消息显示

总结:像(String).showAsToast()这样的函数不能工作,是因为它不是Kotlin标准库或Kotlin语言本身提供的函数。如果想要在Kotlin中显示Toast消息,可以使用Android的Toast类提供的方法,并根据具体的应用场景进行调用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

kotlin和java语言_我希望Java可以从Kotlin语言中窃取10个功能

太好了,我们立即将Record.getValue()方法重命名为Record.get() (当然,将旧方法保留为同义词),这样您现在就可以这样取消引用数据库记录值了。...它允许您将flatMap()值缺失。     当然,如果您想进行复杂函数式编程,则将开始在各处键入map()和flatMap() 。 今天一样,当我们键入getter和setter时。...但是话又说回来,为什么我们必须这样做? 为什么不仅仅收敛于以下内容?    ...在Java中,这是不可能,这就是为什么Java新手在Stack Overflow上有一个不计其数问题 。 我为什么不能...    ...Iterable strings = Arrays.asList("abc"); Iterable objects = strings; // boom   在Kotlin

1.1K00

Kotlin —— 这次入门就不用放弃了

Kotlin是空安全,我们通过一个安全调用操作符?来明确地指定一个对象是否能为空。 我们可以这样去写: // 这里不能通过编译....; username.setText("我是一个TextView"); 确实是这样,使用注解后确实给我们少了一些工作量,不过这依然没有最简单化,最简单就是我们可以直接给id为user控件直接赋值,或许你会感觉这有点不可思议...我们可以直接这样写 user.text="我是一个TextView" user就是我们布局文件声明id,.text就相当于setText(),在Kotlin语言中,我们看不到了Java中set/...这样有一个好处,就是省去了 Java 一样定义 getters 和 setters 方法。 但是这需要一定成本。...为什么

1.6K30

Kotlin 开发者角度看 Java 缺失特性

虽然 Kotlin 也被编译为 JVM 字节码,但有时候我还是不得不写一些  Java 代码。每次写 Java 代码时,我都不禁想,为什么 Java 代码看起来没有 Kotlin 那么好。...() 自由函数,不需要类; Kotlin 标准库中已经有 capitalize() 函数; 调用扩展函数,就好像它属于 String 类一样。...需要注意是,扩展函数是“静态”解析。它们不会在现有的类上添加新行为,只是假装会这样。生成字节码与 Java 静态方法非常相似。...原文链接: https://blog.frankel.ch/miss-in-java-kotlin-developer/ 今日好文推荐 云计算全球变局与中国故事 操作系统封闭、后台保守,为什么前端仍能一路狂奔...软件架构如何“以不变应万变” 从维护性工作到软件开发革命,运维 15 年间大逆转 点个在看少个 bug

77720

号称取代 Java Kotlin 语言到底是什么鬼?

这个想法很好,在 Kotlin 中,类型默认不可为空。如果你需要添加一个可为空类型,可以下列代码这样: val a: String?...首先,你需要在名称和类型之间加入这个多余冒号。这个额外角色目的是什么?为什么名称与其类型要分离?我不知道。可悲是,这让你在 Kotlin 工作变得更加困难。...“很详细语法,”程序员看起来很疑惑,“但是没关系,现在我可以 MyClass.logger 这样调用我 logger,就像 Java 中一个静态成员?”...但为什么一直没有得到广泛使用呢?令人失望。 Maybe 函数式语言(比如 Haskell)没有空值。...但是你不应该在 Kotlin 代码中使用 parseInt,而应该这样做(我不知道你使用该语言 6 个月中为何错过这个)。你为什么要明确地命名一个 Lambda 参数呢?

2.2K50

Kotlin-Android另一番风味

>) {    println("1".toIntSafely()) } String 转 Int,这种需求几乎很多项目都是需要,上述Kotlin如果是在Java里面描述的话,估计会写成这样 public...这就为什么你看KotlinJava扩展库很多都是通过扩展函数来封装 方法类归属更好理解,以上述"toIntSafely"为例,String.toIntSafely,使得开发者更容易直观感受到这个函数是用于...String,不像StringUtil.stringToInt没有归属可言,纯粹就是一个工具函数,不如Kotlin写法容易理解 对定义函数要求高了,正因体现了函数类归属,也就使得开发者在定义函数时候需要考虑归属给哪个类还是顶层函数这些问题...另lambda里面不能写return,最后一行值就是返回值 从数学函数角度抽象理解 函数: y = f(x) 假设x与y都是Int类型 可以理解为 Kotlin 函数: fun f(x: Int):...{ x: Int -> 1 } 使用时f(1),但是如果上述那种f(x)kotlin函数与f(x)lambda同时同名同方法签名存在,使用上要f(1)与f.invoke(1)来区分是函数调用还是lambda

10K60

从 Java 到 Kotlin,再从 Kotlin 回归 Java

Kotlin 中方法参数是一个值,所以你不能改变 num 参数。这是好语言设计,因为你不应该改变方法参数。但是你可以用相同名称定义另一个变量,并按照你想要方式初始化。...意味着具有未定义空值T类型。这种奇怪类型不能Kotlin来表示,它只能从Java类型推断出来。T!会误导你,因为它放松了对空限制,并禁用了Kotlin空值安全限制。...“ “好麻烦语法,”这个程序看起来有些疑惑,“不过还好,现在我可以这样——MyClass.logger——调用日志记录了吗?就像在 Java 中使用静态成员那样?”...只有值存在时候才能执行 Monad 风格 map(),否则,null 只会简单传递下去。这就是 map() 方便原因。然后不幸是,Kotlin let 并不是这样工作。...关于Kotlin趣事 在波兰,Kotlin是番茄酱中最畅销品牌之一。这个名字冲突不是任何人错,但很有趣。Kotlin听起来Heinz发音一样。

1.5K10

微信团队分享:Kotlin渐被认可,Android版微信技术尝鲜之旅1、引言2、概述3、“烹饪”准备4、“烹饪”过程5、开锅,上菜6、如何更好地了解Kotlin这种食材味道附录:QQ、微信团队原创

订阅号助手app能将你iPhone变成一个随身公众号“工作室”,无论身处何地,你都可以发表内容、与读者互动。...println("1".toIntSafely()) } String 转 Int,这种需求几乎很多项目都是需要,上述Kotlin如果是在Java里面描述的话,估计会写成这样: public...这就为什么你看KotlinJava扩展库很多都是通过扩展函数来封装; 2)方法类归属更好理解:以上述"toIntSafely"为例,String.toIntSafely,使得开发者更容易直观感受到这个函数是用于...String,不像StringUtil.stringToInt没有归属可言,纯粹就是一个工具函数,不如Kotlin写法容易理解; 3)对定义函数要求高了:正因体现了函数类归属,也就使得开发者在定义函数时候需要考虑归属给哪个类还是顶层函数这些问题...一般业务场景里面回调接口都会用得不少,Lambda能有效减少这种Callback接口定义,少写不少接口类,事半功倍。 另lambda里面不能写return,最后一行值就是返回值。

45950

尝试Java,从入门到Kotlin(下)

to操作符等 …… KotlinKotlin没有final,但是有open。 Kotlin中Class默认都是不能继承。需要继承Class要在声明地方加上open修饰。...强制先编译Java代码,后编译Kotlin代码,可以解决这个问题,但是又会有新问题:你不能在Java代码中调用Kotlin代码。...如果是Int,String这种比较类型(其实也是引用类型)还好,可以有0,空字符串等默认值。...而自定义类,这种类型变量其实是个引用,如果不能默认为null的话,那么它默认值取值只能有这么几种方案: 类似C语言,未初始化随机值:会产生更大更不确定硬隐蔽问题。...比如可以这样定义json反序列化方法: inline fun parse(json: String): T = objectMapper.readValue(json, T

20430

Kotlin 泛型详解

最近一段时间在网上发了一套 Kotlin 入门视频,涵盖了基础语法、面向对象、高阶函数、DSL、协程等比较有特色知识点,不过有朋友提出了疑问:这门课为什么不专门讲讲泛型、反射和注解呢?...我最早听到这个问题时候,反应比较懵逼,因为我居然没有感觉到 Kotlin 反射、泛型特别是注解有专门学习必要,因为他们跟 Java 实在是太了。...在 Kotlin 当中有一个关键字叫做 reified,还有一个叫做 inline,后者可以将函数定义为内联函数,前者可以将内联函数泛型参数当做真实类型使用,我们先来看例子: inline fun...这也很容易解释为什么 MutableCollection 是不变,而 Collection 是协变,因为在 Kotlin 当中,前者是可被修改,后者是不可被修改。...* 不允许作为函数和变量类型泛型参数! interface Foo class Bar : Foo // ERROR! * 不能直接作为父类泛型参数传入!

1.2K20

Bruce Eckel:我最喜欢Python,Kotlin或将取代Java(附演讲全文+PPT)

这是一个我们在构造函数里面遇到val一个例子,我希望大家能够知道Kotlin这种语言魅力就在于它极大简化了工程师工作量,并且能够减少工程师阅读其他工程师代码时痛苦。...Kotlin也支持可变参数这种类型,它通过这个关键字vararg来支持。在这个函数里面,“s”是一个string,“ints”它是可能有多个int组成这样一个变量。...在我这本书《Atomic Kotlin》里面有非常多这样例子,为什么我叫做Atomic Kotlin(原子Kotlin)呢?...我在写这本书之前,写了关于Scala这本书,Scala是一门函数式编程这样一种语言,同样还有类似Elm这样编程语言,我在做这件事情过程中,通过几年学习渐渐理解了函数式编程这样内涵。...Bruce Eckel:首先Kotlin这个语言发明就是为了简化工作量,我自己其实并没有真的实际做这样一个大工程,所以我无法具有权威性去说这个东西一定就是好

1.7K40

从 Java 到 Kotlin,再从 Kotlin 回归 Java

这是 Kotlin 让我感到最大惊喜地方。看看这个函数: ? 当你调用 inc(1) 时候会输出什么呢?在 Kotlin 中方法参数是一个值,所以你不能改变 num 参数。...“ “好麻烦语法,”这个程序看起来有些疑惑,“不过还好,现在我可以这样——MyClass.logger——调用日志记录了吗?就像在 Java 中使用静态成员那样?”...映射表中键和值通过 to 运算符关联在一起,这很好,但是为什么不使用大家都熟悉冒号(:)?真是令人失望! ? Maybe?不 ? 函数式编程语言(比如 Haskell)没有空(null)。...只有值存在时候才能执行 Monad 风格 map(),否则,null 只会简单传递下去。这就是 map() 方便原因。然后不幸是,Kotlin let 并不是这样工作。...关于Kotlin趣事 ? 在波兰,Kotlin是番茄酱中最畅销品牌之一。这个名字冲突不是任何人错,但很有趣。Kotlin听起来Heinz发音一样。 ?

1.8K40

会写「18.dp」只是个入门——Kotlin 扩展函数和属性(Extension FunctionsProperties)

这几个类同样没有提供 pow() 这个函数,但好是,我们依然可以用看起来像是成员函数方式来做幂运算。 2f.pow(10) // Kotlin 可以这么写 为什么?..."rengwuxian".method2(1) // 可以调用 } "rengwuxian".method2(1) // 类外部不能调用 这个……也好理解吧?你为什么要把扩展函数写在类里面?...String::method1 不过如果这个扩展函数不是 Top-Level ,也就是说如果它是某个类成员函数,它就不能被引用了: class Extensions { fun String.method1...最终 Kotlin 给我们方案就是:在这种调用方式下,增加一个函数参数,让我们把第一个参数位置填上调用者。这样,我们就可以用函数引用来调用成员函数和扩展函数了。...不过我还是要把这个告诉你,因为这样知识体系才是完整。 说到完整啊,每个做 Android 的人都应该把自己支撑体系扩充一下,让自己技能树变完整,你才能百毒不侵,工作和面试都不怕。

91910

【翻译】深入 Kotlin 协程

我将会指导你使用协程相关基本示例,并观察背后到底发生了什么。 为什么协程这种解决方案非常有必要? 在现代应用程序开发中,处理多线程任务是不可避免工作。...在手机操作系统上,比如 Android UI 线程用于处理用户交互,那些点击按钮和手势操作,以及显示层渲染工作等。这些都是最基本,让我们来看一个例子吧!...没有花哨加载动画,也不能滚动,等等。 反序列化是一个很消耗 CPU 资源操作,这会吃掉帧渲染所需大量资源。本质上,这个结果和前面一点是一样。 那么我们怎么解决这些问题呢?...suspend fun fetchUserData(userId: String): String { // return user String } 一个挂起函数只能被协程或者其他挂起函数调用...让我们看看这个 await 函数,就像下面的代码: suspend fun Deferred.await(): T 然而,实际上它更像这样: fun Deferred.await

1.4K10

Kotlin 漫谈系列之类与继承

{ print(string) } } 哎,你们这样主构造函数初始化代码写在哪里。...Kotlin: ?,这个问题问太好了,我们主构造函数不能写代码?。不过 Kotlin 提供了以 init 为关键字初始化块用来写初始化代码,以解决主构造函数不能写代码问题。...Kotlin 可以通过在主构造函数参数前面添加 val 或者 var 修饰符,这样主构造函数参数就变成了类属性,这样就不需要再在类里面定义同样属性再赋值了。 Swift: 666,?。...Swift: Swift 如果有同样名字 IDE 会报错,所以不同协议如果被同一个类实现不能用同样名字。? Kotlin: ?Kotlin 可以,Kotlin 有一套规则来处理这样冲突。...class Person(firstName: String) 主构造函数没有自己函数块,所以不能写任何代码,Kotlin 提供了以 init 为关键字初始化块用来写初始化代码,以解决主构造函数不能写代码问题

3.6K40

Kotlin 极简教程 》第4章 基本数据类型与类型系统

C、C++、Java等语言,都是显式类型化。而ML、Haskell、Groovy等可以省略类型声明,它们类型系统会自动推断出程序类型。...关于动态类型,有个很形象说法: 当看到一只鸟走起来鸭子、游泳起来鸭子、叫起来也鸭子,那么这只鸟就可以被称为鸭子。...但是跟Java不同是,Kotlin中语言内部类型和用户定义类型之间,并没有Java那样划清界限。它们是同一类型层次结构一部分。...... """ >>> text.trimMargin() 理论是你知道是这样,但它却不好用。 实践是它很好用,但你不知道是为什么。...Kotlin中,我们不能把 Array 赋值给 Array。这地方Kotlin类型检查限制强于Java数组类型。

2.1K20

Kotlin扩展函数与属性示例详解

接收者类型是由扩展函数定义,接收对象是该类型一个实例 可以调用类成员函数一样去调用这个函数: println("Kotlin".lastChar()) n 从某种意义上说,现在已经为String...不管String类是用Java、Kotlin,或者Groovy其他JVM语言编写,只要它会编译为Java类,就可以为这个类添加自己扩展。 在这个扩展函数中,可以其他成员函数一样用this。...也可以普通成员函数一样,省略它: fun String.lastChar(): Char = get(this.length - 1) 注意,扩展函数并不允许打破它封装性。...和在类内部定义方法不同是,扩展函数不能访问私有的或者是受保护成员。 3.3.1导入和扩展函数 对于定义一个扩展函数,它不会自动地在整个项目范围内生效。...注意,当需要从Java中访问扩展属性时候,应该显式地调用它getter函数:StringUtil.getLastChar(“Java”); 总结 以上就是这篇文章全部内容了,希望本文内容对大家学习或者工作具有一定参考学习价值

1.3K20

Kotlin简单问

kotlin为什么被设计出来 kotlin被设计出来并被Google推广,主要有以下优势: 完全兼容Java 更少空指针异常 更少代码量,更快开发速度(lambda表达式,扩展函数kotlin...工作原理 首先,我们了解下Java工作原理: Java 代码是经过编译才能运行。...kotlin空安全 java中,我们可以任意初始化一个变量,而不需要赋值,比如String,就有它默认值null。 String a; 如果要调用对象参数,必须判空: if (a!...length val和var val,全称value,声明一个不可变变量,这种变量在初始赋值之后就再也不能重新赋值了,所以相当于java中final变量。...,扩展函数所在类被public final修饰,函数被public static final修饰,然后扩展那个类被作为方法一个参数传进去,这样就跟我们用java时候写工具类很像。

85830

Kotlin面向对象编程,深入讨论继承写法问题

本文同步发表于我微信公众号,扫一扫文章底部二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。...由于括号这个问题是作用在Kotlin继承特性之上,并不能独立存在,因此本篇文章同时还会涵盖Kotlin继承与面向对象方面的知识。...一个类本身不就是可以被继承吗,为什么还要使Person类可以被继承呢?...val grade: Int, name: String, age: Int) : Person(name, age) { ... } 注意我们在Student类主构造函数中增加name和age这两个字段时不能再将它们声明成...另外由于没有主构造函数,次构造函数只能直接调用父类构造函数,上述代码也是将this关键字换成了super关键字,这部分就很好理解了,因为和Java比较,我也就不再多说了。

83330
领券