当前位置:  开发笔记 > 编程语言 > 正文

为什么Scala编译器失败,"包中的对象SparkConf无法在org.apache.spark包中访问"?

如何解决《为什么Scala编译器失败,"包中的对象SparkConf无法在org.apache.spark包中访问"?》经验,为你挑选了1个好方法。



1> KrisP..:

如果在SparkConf之后添加括号,它会编译:

val conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount")

关键是SparkConf是一个类而不是函数,因此您也可以使用类名作为范围.因此,当您在类名后添加括号时,您将确保调用类构造函数而不是作用域功能.以下是Scala shell中的一个示例,说明了不同之处:

scala> class C1 { var age = 0; def setAge(a:Int) = {age = a}}
defined class C1

scala> new C1
res18: C1 = $iwC$$iwC$C1@2d33c200

scala> new C1()
res19: C1 = $iwC$$iwC$C1@30822879

scala> new C1.setAge(30)  // this doesn't work

:23: error: not found: value C1
          new C1.setAge(30)
              ^

scala> new C1().setAge(30) // this works

scala> 

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有