- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
谁能解释一下区别
var someString = “Some String”
var someString: String = “Some String”
var someString = “Some String” as String
var someString = “Some String” as! String
var someString = “Some String” as? String
最佳答案
let someString = “Some String”
let someString: String = “Some String”
对于这两个:
两者之间的运行时效率差异为零。在编译期间,Swift 会推断类型并将其写入。但是一旦编译,这两个语句是相同的。
let someString = “Some String” as String
意味着如果 someString
值不是字符串,则将其转换为字符串。
let someString = “Some String” as! String
意味着你强行将“Some String”转换为字符串,但如果它不能转换为字符串,那么它会使应用程序崩溃。
let someString = “Some String” as? String
意味着您可以选择将 “Some String”
转换为字符串,这意味着如果它不能转换为字符串,那么它将返回 nil 但此时不会崩溃。
对于最后 3 条语句,它可以编译并工作,但是将 String 转换为 String 肯定是错误的。无需将 String
转换为 String
。
最后两个 as?
和 as!
在您的情况下总是会成功。
考虑下面的例子:
let stringObject: AnyObject = "Some String"
let someString3 = stringObject as! String
let someString5 = stringObject as? String
这是您需要转换的时候。仅当您知道它是一个字符串时才使用 as!
。如果您不知道它是否为字符串,请使用 as?
。
只有在你确定否则使用条件转换时才使用 as!
强制向下转换:
if let someString5 = stringObject as? String {
println(someString5)
}
关于ios - var someString = “Some String” 和 var someString : String = “Some String” , 之间的区别 var someString = “Some String” as string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30678926/
谁能解释一下区别 var someString = “Some String” var someString: String = “Some String” var someString = “Som
我想检查一个字符串值 val 是否包含在一个字符串列表中,我们称它为 stringList。 我在做这个 if(stringList.contains(val)){ System.out.prin
我一直以为java中有这样的表达式: String tmp = "someString"; 只是某种“语法糖” String tmp = new String("someString"); 当我最近反
我今天正在写一些代码,当我按住 alt-tab 键切换到另一台显示器上的屏幕以检查某些内容时,我正在中线。当我回头看时,ReSharper 将灰色下方的第 3 行涂上了注释“分配的值未在任何执行路径中
我知道,在 ObjC 类中设置实例变量(例如 NSString 变量)时,最佳实践通常是确保类拥有自己的变量,例如: NSString *someInstanceVariable = [NSStrin
据我所知,new Double(someString) 和 Double.parseDouble(someString) 给我的结果完全相同。我有什么理由想要使用一个而不是另一个吗? 最佳答案 一个返
我有一个客户端和一个服务器,我使用客户端发送一个字符串,例如 "Hello"它在服务器端显示为 > .有没有办法简单地转换 >返回"Hello" ?我尝试使用, String = io_lib:for
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: ServletContext and Session object 我觉得很奇怪 session.getAttrib
我们最近将所有项目从 .NET 3.5 升级到 .NET 4。我遇到了一个关于 string.IndexOf() 的奇怪问题。 我的代码显然做了一些稍微不同的事情,但在调查这个问题的过程中,我发现在一
我有 ref=Apple我当前的正则表达式是 var regex = /ref=(.+)/; var ref = regex.exec(window.location.href);
这里有几个例子来自 django-basic-apps : # self.title is a unicode string already def __unicode__(self):
我正在做一个项目,我得到以下时间和日期的字符串表示形式,即“00:02:52 APRIL 11, 2013 GMT”。当我使用 DateTime.Parse() 方法时: DateTime dt= D
下午,我正在动态编码的当前网站从服务器获取文章并将它们插入滚动表中,但我在跟踪它们时遇到了问题 function addArticle() { var div = document.createEle
在一个我一直试图熟悉的项目中,我遇到了一个看起来像这样的方法: public boolean testString(String string){ return string != null
这个问题在这里已经有了答案: Swift variable decorations with "?" (question mark) and "!" (exclamation mark) (1 个回
我正在使用 javascript 创建以下 div,task_id 是一个 int,person_name 是一个字符串,为什么我的警报不起作用!当我发送 2 个整数时,警报工作正常,当我发送 2 个
我需要一个 shell 脚本,使用 sed 或 awk 在匹配模式之后的第三行末尾附加一个以逗号 ',somestring' 开头的字符串。 这是一个例子: 之前 Pattern somestuff
我的项目中有一些图像。图像的名称存储在一个字符串中,我想 setImageResource(R.drawable.".....");使用图像名称的字符串,但问题是这不起作用。 我该怎么做? 最佳答案
This question already has answers here: Regular expression for a string containing one word but not
我正在编写一个字典应用程序,需要在打字时进行通常的单词建议。 LIKE somestring% 相当慢(在约 100k 行的表上约 1300 毫秒)所以我转向了 FTS3。 问题是,我还没有找到一种从
我是一名优秀的程序员,十分优秀!