scala
习惯de味道
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
scala--Array的函数
Array 数组是一种可变的、可索引的数据集合。在Scala中用Array[T]的形式来表示Java中的数组形式 T[] Array提供的方法 ++ 合并数组,返回一个新的数组 var a=Array(1,2) var b=Array(3,4) var c=a++b ++: 合并数组,类型以右边为主 注:用于可变数组 var a=Array(1,2) var b=Array(3,4) var c=a++:b var d=b++:a +: 在集合前面增加元素 var a=List(1,2原创 2020-10-29 17:25:07 · 858 阅读 · 0 评论 -
scala JDBC连接Mysql数据库
scala连接数据库一、在mysql创建表结构二、导入依赖包三、代码部分 一、在mysql创建表结构 create table student( id int primary key auto_increment, name varchar(255), age int ) 插入一组测试数据 insert into student(name,age) values("张三",21),("李四",25) 二、导入依赖包 可以直接传入jar包,maven项目可以导入依赖 <dependency>原创 2020-10-29 14:26:25 · 438 阅读 · 0 评论 -
scala--部分函数及偏函数
部分函数 部分应用函数(Partial Applied Function)是缺少部分参数的函数,是一个逻辑上概念。 def add(a:Int, b:Int, c:Int) = a+b+c , 当调用add的时候,如果不提供所有的参数,或者只提供某些参数时,比如 add _ //提供所有参数 add(3, _: Int, _:Int) //提供一个参数 这样就生成了所谓的部分应用函数。 例1: def add(a:Int,b:Int,c:Int)={ println(a+b+c)原创 2020-10-27 16:52:30 · 173 阅读 · 0 评论 -
scala--型变
scala--型变一、类型边界二、协变三、逆变四、不变 一、类型边界 在Scala中,类型参数可以有一个类型边界约束 类型上界:将类型限制为另一种类型的子类 T<:A 表示类型变量T应该是类型A的子类 A是具体类型,T是泛型 类型下界:将类型声明为另一种类型的超类 T>:A 表示类型变量T应该是类型A的超类 A是具体类型,T是泛型 二、协变 class Covariant[+T]{ } 对于两种类型 A 和 B,如果 A 是 B 的子类型,那么 Covariant[A] 就是 Covaria原创 2020-10-26 17:25:46 · 278 阅读 · 0 评论 -
scala--特质
scala--特质一、特质(trait)二、混入特质(mixin)三、特质与抽象类的选择 一、特质(trait) Scala中没有接口(interface)的概念 特质用于在类之间共享程序接口和字段,类似Java接口 特质是字段和方法的集合,可以提供字段和方法实现 类和单例对象都可以扩展特质(extends) 特质不能被实例化,因此没有构造参数,类似Java接口 特质使用“trait”关键字定义 实现特质中的方法使用“override” 二、混入特质(mixin) 当某个原创 2020-10-26 16:22:08 · 238 阅读 · 1 评论 -
scala--伴生类和伴生对象
scala--伴生单例对象(object)伴生 单例对象(object) Scala的类中无法定义静态成员,即无static关键字。如何像Java一样表达类的静态成员变量、成员方法与静态代码块? Scala解决方案:单例对象 使用“object”关键字声明,可包含变量、方法与代码定义 单例对象中的成员变量、成员方法通过单例对象名直接调用 单例对象第一次被访问时初始化,并执行全部代码块 单例对象不能new,且无构造参数 程序入口main()方法必须定义在单例对象中 单例对象与同名类定义在同一文件中时形成原创 2020-10-26 16:02:54 · 2524 阅读 · 0 评论 -
Scala--类
scala--类类(class)定义类抽象类隐式类单例对象(object) 类(class) 类通过class关键字定义 类通过new关键字创建实例 类拥有成员变量和方法 类的成员默认为public,也支持private、protected 类中无法定义静态成员变量和方法 类无需明确定义构造方法,通过构造参数列表声明为类的一部分 定义类 构造器 主构造器 辅助构造器 成员变量与方法 //主构造器执行类定义中的所有语句 class Point(xc: Int, yc:原创 2020-10-26 15:54:47 · 350 阅读 · 0 评论 -
Scala函数(二)
@TOC 一、柯理化 方法可以定义多个参数列表,当使用较少的参数列表调用多参数列表的方法时,会产生一个新的函数,该函数接收剩余的参数列表作为其参数。这被称为柯里化。 def fun(a:Int,b:Int,c:Int)(d:Int)=a+b+c+d println(fun(1,2,3)(4)) //10 def fun1(a:Int,b:Int)(c:Int)(d:Int)=a+b+c+d println(fun1(1,2)(3)(4)) //10 二、模式匹配 模式匹配包含了一系列备选原创 2020-10-22 14:39:34 · 146 阅读 · 0 评论 -
Scala模式匹配详解
Scala模式匹配 模式匹配包含了一系列备选项,每个都开始于关键字 case。每个备选项都包含了一个模式及一到多个表达式。箭头符号 => 隔开了模式和表达式。 match 对应 Java 里的 switch,但是写在选择器表达式之后。Scala的模式匹配除了可以对值进行匹配之外,还可以对类型进行匹配、对Array和List的元素情况进行匹配、对case class进行匹配、甚至对有值或没值(Option)进行匹配。 match 表达式通过以代码编写的先后次序尝试每个模式来完成计算,只要发现有一个匹配的原创 2020-10-22 14:38:23 · 1037 阅读 · 0 评论 -
Scala函数(一)
@TOC 一、Scala函数 函数是Scala的核心 函数定义 //省略返回值则成为过程 def 函数名([参数列表]):[返回值]={函数体 return [表达式]} 函数调用 函数名(参数列表) //函数的定义和使用 def min(a:Int,b:Int)= if (a>b) b else a println(min(10, 20)) //通过参数进行运算 def fun(a:Int,b:Int,c:String)= if (c.equals("+")) a+b else if原创 2020-10-21 23:27:59 · 176 阅读 · 0 评论 -
Scala基础(二)
一、元组 可以包含不同类型的元素 最多22个元素 使用下划线访问元素 “_” //元组定义方式一 var tupleDemo=("hello",2.4,10,"a","world") //迭代器遍历 tupleDemo.productIterator.foreach(x=>println(x)) //元组定义方式二 var tupleDemo2=new Tuple5("a","b","c","d","e") //元组定义方式三 def mike="mike"->5->6 println(原创 2020-10-20 20:59:23 · 197 阅读 · 0 评论 -
Scala基础(一)
Scala基础一、安装scala二、Scala概述三、Scala常量变量变量常量四、使用类型别名定义变量五、Scala数据类型层次结构六、字符串插值s插值器f插值器raw插值器七、Scala条件控制八、条件语句返回值九、Scala循环控制十、Scala数组 一、安装scala idea安装scala插件 在Plugins搜索scala安装 在windows上安装scala Scala安装包 提取码: rqna 安装完成,配置环境变量后cmd命令窗口,使用scala命令开启scala 二、Scala原创 2020-10-19 16:05:04 · 173 阅读 · 0 评论
分享