Scala
万事无Bug
南昌大学 低调学Java
展开
-
Spark读取kafka数据进行wordCount存入Redis
Spark读取kafka数据进行wordCount存入Redis依赖 <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.1.2</versio原创 2021-10-18 17:36:05 · 238 阅读 · 0 评论 -
Scala集合
Scala集合一、数组1、不可变数组创建数组的方式//定义一个T类型的数组,长度为10,如果希望存放任意类型,则T换成Anyvar array=new Array[T](10)//另外一种创建方式var array=Array(12,48,65,78,59);2、可变数组创建数组: var arr=new ArrayBuffer[Int](10) var arr1=ArrayBuffer(1,2,3,4,5,6)追加元素://在原有数组基础上创建一个新数组,并在原原创 2021-10-18 11:18:03 · 170 阅读 · 0 评论 -
Scala特质trait
Scala特质traitScala可以看作是Java中的接口特质声明:trait 特质名 { //trait主体}特质基本语法使用with进行多个特质的继承特质和抽象类的区别继承多个特质:首先,继承类必须重写特质中包含的未初始化的变量和常量,以及方法。其次,当继承类对象调用的方法在多个特质中均有定义时,会调用最后一个特质的方法(后者覆盖前者)如果继承一个父类和特质,父类和特质中出现相同方法或属性,则必须重写。多个特质,如果有相同属性(且有大于等于2个属性被赋值),则需要重原创 2021-10-15 18:30:28 · 67 阅读 · 0 评论 -
Scala单例模式
Scala单例模式object test { def main(args: Array[String]): Unit = { var student=Student.getInstance() student.info() }}//伴生类class Student private (var name:String,var age:Int){ def info():Unit={ print(s"${this.name}今年${this.age}岁了,就读于${St原创 2021-10-15 17:20:42 · 710 阅读 · 0 评论 -
Scala类和对象
Scala包对象类的定义:Scala类的定义和Java基本一致,均是通过class来定义一个类,但是Scala没有public关键字,即每个定义的类默认都是public,且一个.scala文件中可以有多个public类.方法和属性访问权限和java区别1、Scala中默认的访问权限是public 但是Scala中没有public关键字2、protected为受保护权限,Scala中protected比Java更严格,同类和子类可以访问,同包则不可以访问3、private[包名]可以增加访问权限,原创 2021-10-15 17:19:22 · 96 阅读 · 0 评论 -
Scala柯里化&闭包
Scala柯里化&闭包概念柯里化:把一个参数列表的参数变成多个参数列表闭包:如果一个函数访问了他的外部(局部变量)的值,那么这个函数和他所处的环境,称为闭包。在Scala中,函数也是对象,一个函数会将其依赖的其他函数一起打包成一个对象存在堆空间中。用闭包实现一个函数,将代码块作为参数,递归调用 //用闭包实现一个函数,将代码块作为参数,递归调用 def myWhile(condition: =>Boolean): (=>Unit)=>Unit={原创 2021-10-15 14:37:01 · 331 阅读 · 0 评论 -
Scala函数式编程
Scala函数基础函数定义:def 函数名(参数1 : 参数类型, 参数2 : 参数类型 ...) : 返回值类型{ 函数体}//例子def test(n:Int):Int={ return n}可变参数//可以传入不定量的参数,底层使用数组存储了,和java类似def test(n:Int*):Unit={ print(n)}//类似于Java中 public int test(int...n){ System.out.pr原创 2021-10-14 20:59:59 · 105 阅读 · 0 评论 -
Scala循环遍历for详解
Scala循环遍历for1、范围遍历//i无需提前定义,这里<-理解为左箭头,0-10的数依次指向并赋值给i//这里的to是一个方法,也可以写成i<-0.to(10)//注意,Scala中所有数据都是对象 for(i <- 0 to 10){ println(i) }//输出结果是1-10//俩个输出结果不包含右边界,但包含左边界 for(i<-Range(0,10)){ println(i) } for原创 2021-10-14 16:25:23 · 1809 阅读 · 0 评论 -
Scala方法中if的返回值
Scala方法中if的返回值Scala中的if语句和Java的用法是一样的,但是Scala中的if-else是有返回值的,返回值默认是Any类型。 var ss=10 //由于返回值类型不一样,所以使用默认返回值类型Any var aa=if(ss==10){ println("ss的值是10") 10 } else { println("ss的值不是10") "不是10" } println(aa)原创 2021-10-14 14:57:06 · 886 阅读 · 0 评论 -
Scala变量和数据类型
Scala变量和数据类型前言:Scala中一切数据都是对象,都是Any类的子类对象。Scala数据类型分成两类,数值类型(AnyVal)和引用类型(AayRef)Scala数据类型依旧遵守低精度向高精度转化规则整形分类整数类型中低精度可以直接隐式转化成高精度,高精度转换成低精度必须强转。另外char可以直接隐式转化成int。空类型分类1、变量和常量var定义的数据为变量var name="小白说Java"//或者var name:String="小白说Java"//或者给默认值原创 2021-10-14 14:19:26 · 483 阅读 · 0 评论