首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Scala中使用"val capacity : Int“而不是"val Int Capacity”的任何理由

在Scala中使用"val capacity : Int“而不是"val Int Capacity”的任何理由
EN

Stack Overflow用户
提问于 2009-12-12 08:49:22
回答 6查看 667关注 0票数 7

我正在读Scala,我想知道...

为什么

代码语言:javascript
复制
val capacity : Int 

而不是

代码语言:javascript
复制
val Int capacity.

做出这个选择的任何原因。如果不是,在我看来,放弃Java声明它的方式并不是一个好的选择。将会使从Java到Scala的转换变得更容易(不是很多,但只是一点点)

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-12-12 08:55:56

因为在大多数情况下,您可以省略Int部分。Scala的类型推断系统比Java要简洁得多。

票数 20
EN

Stack Overflow用户

发布于 2011-03-17 20:05:18

我想我在某个地方读到了Martin Odersky本人的声明,他说这个决定也是为了提高可读性。当然是这样的,例如比较

代码语言:javascript
复制
val Double number = ...
val Array[(Seq[String], Map[Seq[String], Double])] something = ...
val String pattern = ...

使用

代码语言:javascript
复制
val number : Double = ...
val something : Array[(Seq[String], Map[Seq[String], Double])] = ...
val pattern : String = ...

大多数时候,你需要快速(直观地)找到引用/方法的名称,而不是类型。

票数 10
EN

Stack Overflow用户

发布于 2009-12-12 20:26:22

X:t是逻辑和许多编程语言中类型的标准表示法。C和它的后代,包括Java,与此背道而驰。但是C的类型表示法真的很糟糕(试着写下一些中等复杂的高阶函数的类型,比如map)。

此外,使用这种表示法很容易省略类型(正如Wysawyg已经写过的那样),或者在表达式中添加类型。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1891775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档