当前位置:首页 > 开发 > 编程语言 > 大数据 > 正文

【Scala五】分析Spark源代码总结的Scala语法三

发表于: 2015-01-24   作者:bit1129   来源:转载   浏览:
摘要: 1. If语句作为表达式 val properties = if (jobIdToActiveJob.contains(jobId)) { jobIdToActiveJob(stage.jobId).properties } else { // this stage will be assigned to "default" po

1. If语句作为表达式

    val properties = if (jobIdToActiveJob.contains(jobId)) {
      jobIdToActiveJob(stage.jobId).properties
    } else {
      // this stage will be assigned to "default" pool
      null
    }

 

2.asInstanceOf方法

像是协变,

scala> val a = List(1,2,3);
a: List[Int] = List(1, 2, 3)

scala> val b = a.asInstanceOf[List[Number]]
b: List[Number] = List(1, 2, 3)

scala> b(1)
res0: Number = 2

 

 

///向上转型
scala> val b = a.asInstanceOf[Int]
b: Int = 10

scala> val b = a.asInstanceOf[Any]
b: Any = 10

 

只能做协变和向上转型,如下操作是不行的,

 

如下是不可以的

scala> val a=10
a: Int = 10

scala> val b = a.asInstanceOf(String)

scala> val b = a.asInstanceOf[String]
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
        at .<init>(<console>:8)
        at .<clinit>(<console>)
        at .<init>(<console>:7)
        at .<clinit>(<console>)
        at $print(<console>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
        at java.lang.reflect.Method.invoke(Method.java:606)
        at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:734)

 

【Scala五】分析Spark源代码总结的Scala语法三

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

我来说两句
评论内容:
验  证  码:
 
(网友评论仅供其表达个人看法,并不表明本站同意其观点或证实其描述。)
评论列表
已有 0 条评论(查看更多评论)
编辑推荐
Clojure首先是FP, 但是由于基于JVM, 所以不得已需要做出一些妥协, 包含一些OO的编程方式 Scala首先
Scala中的类&练习 1. 改进Counter类,让它不要在Int.MaxValue时变成负数 程序代码: class Counter {
本文中,我们将首先讨论如何在本地机器上利用Spark进行简单分析。然后,将在入门级水平探索Spark,
Scala中的类 摘要: 在本篇中,你将会学习如何用Scala实现类。如果你了解Java或C++中的类,你不会觉
1,首先介绍官网网站 http://scala-lang.org/ 下载windows 的exe直接进行安装就行。 安装后有个本地
为了在IDEA中编写scala,今天安装配置学习了IDEA集成开发环境。IDEA确实很优秀,学会之后,用起来很
工作以及兴趣所致,开始了spark学习之旅,浏览网上大牛们的博客 文章,并且结合官网docs,刚开始云
计划: 阶段1: 精通Spark内核 阶段2: 精通千万级的项目 阶段3: 机器学习 JAVA本身不是伟大的语言
http://www.cnblogs.com/byrhuangqiang/p/4017725.html 为了在IDEA中编写scala,今天安装配置学习了
1,首先介绍官网网站 http://scala-lang.org/ 下载windows 的exe直接进行安装就行。 安装后有个本地
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号