当前位置: 首页 > 知识库问答 >
问题:

Kotlin中的单个感叹号

高祺
2023-03-14

在Kotlin中,单个感叹号意味着什么?我见过几次,特别是在使用Java API时。但我在文档中和StackOverflow上都找不到它。

共有1个答案

司马同
2023-03-14

它们被称为平台类型,这意味着Kotlin不知道该值是否可以null,由您来决定它是否可以为null。

简而言之,问题是来自Java的任何引用都可能是空的,Kotlin在设计上是空安全的,它迫使用户对每个Java值进行空检查,或者使用安全调用(?.)或非空断言(!!)。这些特性在纯粹的Kotlin世界中是非常方便的,当您在Kotlin/Java环境中经常使用它们时,它们往往会变成一场灾难。

这就是为什么我们采取了一种激进的方法,并使Kotlin的类型系统在涉及Java互操作时更加轻松:现在来自Java的引用有了特别标记的类型--Kotlin博客

 类似资料:
  • 问题内容: 查看数据库中的V $ SQL,我刚发现一个奇怪的查询,看起来像: 有人知道语法@!的含义吗? 我以前从未在Oracle中见过类似的东西 谢谢 问题答案: 这是源自远程数据库的查询。使用@DB_NAME语法在远程数据库上的查询中引用了您在V $ SQL中看到此查询的数据库 远程数据库已将查询推送到您的数据库中以便执行,但是要回答该查询,您的数据库需要从远程数据库中拉回一些信息。这是@!进

  • 问题内容: 我正在阅读此查询,遇到了我不明白的那一行 FETT列表是一个表 FETT搜索是FETT列表中的一列 有人可以解释感叹号的含义吗? 谢谢 问题答案: 通常,您会在MS Access代码中看到此信息(对于感叹号,这是SQL Server的句点)。您可以通过table.column来引用列,或者如果为表赋予别名,则可以通过alias.column来引用。如果要在使用联接时特定于表,则可以执行

  • 从…起https://source.dot.net/#System.Private.CoreLib/Hashtable.cs,475: 它看起来像两个零原谅运算符。有相关文件吗?

  • 本文向大家介绍javascript中2个感叹号的用法实例详解,包括了javascript中2个感叹号的用法实例详解的使用技巧和注意事项,需要的朋友参考一下 在javascript代码中经常会见到!!的情况,本文即以实例形式较为深入的分析javascript中2个感叹号的用法。分享给大家供大家参考之用。具体分析如下: javascript中的!!是逻辑"非非",即是在逻辑“非”的基础上再"非"一次。

  • 问题内容: 我刚刚注意到,我所有的路径中的井号(#!)后都有一个感叹号。我不确定如何以及为什么获得它们,因为今天早些时候我没有它们。 如果有什么办法可以摆脱它们,那么如果有人可以向我解释一下(以及我如何拥有它们),我将不胜感激。 因此,到目前为止,我发现的唯一解决方案是手动将感叹号放在应用程序中的每个href上,但这使我很烦,我也不知道该怎么办。 我用yeoman生成器生成了我的应用,而我的app

  • ~/src/storm-0.8.1/bin/storm jar/root/src/storm-starter/target/storm-starter-0.0.1-snapshot-jar-with-dependencies.jar storm.starter.exclamationtopology演示 我试着运行它,它说问题是与nimbus连接,但我的storm客户端(和supervisor在同