scala语言与java的区别 (2)

  1. scala中的所有操作符都是方法的调用,例如:1+2,等效于(1).+(2)

    0 to 5,等效于(0).to(5),x(1)="scala",等效于(x).update(1,"scala"),x(1)等效于(x).apply(1)

  2. scala通过定义伴生对象,分离静态成员,类似于java中的static关键字
  3. scala Array数组中所有对象都具有相同类型,实例化后数组长度不能再改变,但是数组元素值可以改变

    List数组中的元素值则不可改变,List有"::"实现叠加功能,操作符会创建一个新的List

  4. scala包含新的容器对象Tuple,元组可以包含多个不同类型的对象,例如:val tp = (1,2,"scala"),中tp就是一个Tuple[Int,Int,String]对象,tp._1表示取第一个元素
  5. scala中Set和Map类型有可变和不可变两种实现方式,分别保存在不同的包中
  6. scala没有"++"操作符
  7. scala提供trait关键字,描述对象的特质,类似于java中的接口interface
  8. scala提倡函数式编程风格,减少var变量的使用,这样可以得到简洁可读性更强的代码
  9. scala从文件中读取数据,Source.fromFile("filename").getLines()返回一个Iterator[String]对象
时间: 2024-10-11 05:08:33

scala语言与java的区别 (2)的相关文章

scala语言与java的区别 (1)

scala支持关联映射,如可以用(key -> value)表示一个键值对 scala中的所有类型都是对象,包括基本数据类型 scala中的case语句用来判断接收的消息,比java中的switch...case...更专注 receive{    case msg => action()    } scala行动类实现了线程之上的并发抽象,通过发送消息相互通信,每个行动类都自动维护一个消息队列,并且实现发送消息和接收消息的基本操作. receriver ! msg scala是静态类型的,也

C语言与java的区别

相同的地方: 1.语法类似:由于Java可以算是从C++发展而来的,因此Java与C语言的语法比较类似 2.编程的熟练程度就是对语言程序库的掌握程度: 从某种程度上来说,编程语言都是由语法和相应的程序库所构成,Java有自身的类库,C语言则有标准库.所谓的编程,就是使用与语法来调用和组合程序库中的函数. 不同的地方: 1.内存管理 在Java中,基本不用考虑内存的问题,如果想用一个对象,new一个就可以,这个过程的背后则是JRE为对象分类的一定内存,当JRE发现你不再使用这个对象的时候,他就会自

scala和java的区别

scala写程序跟说话一样,都是要把你的思想描述出来,但是scala最大的问题是api的符号标记太复杂, 很多都好难看懂,某些语法太过复杂,上手还是有些难度的.java很规范,但是代码太多,写逻辑很 复杂的代码时,会很麻烦.Java没有shell,这也是一个不方便的地方.java 9也将推出java shell功能 1 类定义 2 方法定义 2.1 Scala采用def定义, Java采用方法的修饰符,返回值. 3 scala支持元组,java需要采用类定义代替 4 对字符串的支持 3.1 sc

Maven Java项目添加Scala语言支持

为了在一个普通的使用Maven构建的Java项目中,增加对Scala语言的支持.使得其能够同时编译Java和Scala语言的文件.其实很简单的一件事情,只需要在pom.xml文件中的build部分中的plugins中,增加对scala-maven-plugin的支持,就好了.具体的说,就是添加如下的语句: <plugin> <!-- see http://davidb.github.com/scala-maven-plugin --> <groupId>net.alch

初解,Scala语言中基于Actor的并发编程的机制,并展示了在Spark中基于Scala语言的Actor而产生的消息驱动框架Akka的使用,

Scala深入浅出实战中级--进阶经典(第66讲:Scala并发编程实战初体验及其在Spark源码中应用解析)内容介绍和视频链接 2015-07-24 DT大数据梦工厂 从明天起,做一个勤奋的人 看视频.下视频,分享视频 DT大数据梦工厂-Scala深入浅出实战中级--进阶经典:第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析 本期视频通过代码实战详解了Java语言基于加锁的并发编程模型的弊端以及Scala语言中基于Actor的并发编程的机制,并展示了在Spark中基于Sc

Scala语言初识

scala是一种集面向对象特性和函数式特性于一身并可运行在JVM上的强类型静态语言.因为可以运行在JVM上,并在设计时借鉴于大量的java语言特性,故可以和java互动并可以调用java相关类库,这让现在大量掌握java的编程者的智力投资得到极大的利用.并且还借鉴了Elang函数语言及Ruby等脚本语言,从而有高效,轻便等特性,从而原来掌握Ruby,Erlang等语言者,来学习scala时感到亲切从而更加快捷掌握. scala由洛桑联邦理工学院的Martin Odersky设计,第一个版本发布于

Scala语言开发入门

在本系列的第一篇文章 <使用递归的方式去思考>中,作者并没有首先介绍 Scala 的语法,这样做有两个原因:一是由于过多的陷入语法的细节其中,会分散读者的注意力.反而忽略了对于基本概念,基本思想的理解.二是由于 Scala 语法非常简洁,拥有其它语言编程经验的程序猿非常easy读懂 Scala 代码.如今我们将回过头来.从基本的语法開始学习 Scala 语言.大家会发现 Scala 语言异常精炼,实现相同功能的程序.在代码量上,使用 Scala 实现通常比 Java 实现少一半或者很多其它.短

Spark 大数据中文分词统计(三) Scala语言实现分词统计

Java版的Spark大数据中文分词统计程序完成之后,又经过一周的努力,把Scala版的Spark 大数据中文分词统计程序也搞出来了,在此分享给各位想学习Spark的朋友. 如下是程序最终运行的界面截图,和Java版差别不大: 如下是Scala工程结构: 当你在工程主类文件WordCounter.scala上单击右键,选择Run As Scala Application: 然后选择唐诗宋词进行分词统计,就会出现前面显示的分词结果. 工程代码已经上传CSDN:http://download.csd

如何在Java平台上使用脚本语言做Java开发

如何在Java平台上使用脚本语言做Java开发     最近开始流行区分Java平台和Java语言,但很多Java开发者还是不能确定如何在 Java应用程序开发中结合脚本.本篇文章,Gregor Roth给出了在Java平台上使用脚本的方法.通过这篇文章,你可以了解怎样在你的Java应用程序中使用脚本,是否你要通过使用Groovy和 Jython把不同的Java应用程序模块粘合在一起,或者写一个你自己的基于JRuby的应用程序,适用于Java平台. 作为一个Java开发者,你可能已经注意到了,J