开发语言
文章平均质量分 64
这个专栏汇聚了各类语言的理论学习与实战文章
橙子园
落地生根,长成参天大树
展开
-
重学scala十:scala中的泛型
scala和Java一样,类和特质、方法都可以支持泛型。我们在学习集合的时候,一般都会涉及到泛型。定义一个Pair类包含2个类型不固定的泛型。在scala中,使用方括号来定义类型参数。1、定义一个泛型方法。原创 2022-09-26 21:25:26 · 591 阅读 · 0 评论 -
重学scala九:scala中的提取器
提取器是从传递给它的对象中提取出构造该对象的参数。(回想样例类进行模式匹配提取参数)scala 提取器是一个带有unapply方法的对象。unapply接受一个对象,然后从对象中提取值,提取的值通常是用来构造该对象的值。原创 2022-09-08 16:03:55 · 630 阅读 · 1 评论 -
重学scala八:scala中的异常处理
在scala中,可以使用异常处理来解决这个问题。在Scala里,借用了模式匹配的思想来做异常的匹配以下为scala中try…try中的代码是我们编写的业务处理代码在catch中表示当出现某个异常时,需要执行的代码在finally中,是不管是否出现异常都会执行的代码。执行程序,可以看到scala抛出了异常,而且没有打印出来"你好"。说明程序出现错误后就终止了。那怎么解决该问题呢?我们也可以在一个方法中,抛出异常。语法格式和Java类似,使用throw new Exception…原创 2022-09-08 15:59:29 · 1269 阅读 · 0 评论 -
重学scala七:scala中的模式匹配和样例类
scala有一个十分强大的模式匹配机制,可以应用到很多场合。java switch caseswitch语句类型查询以及快速获取数据并且scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配。原创 2022-09-08 15:02:50 · 509 阅读 · 2 评论 -
重学scala:scala中的隐式转换和隐式参数
Scala提供的隐式转换和隐式参数功能,是非常有特色的功能。是Java等编程语言所没有的功能。它可以允许你手动指定将某种类型的对象转换成其他类型的对象,或是给一个类增加方法。通过这些功能,可以实现非常强大的功能。隐式转换其核心就是定义一个使用 implicit 关键字修饰的方法,实现把一个原始类转换成目标类,这样你可以调用目标类中的方法,是不是很强大。隐式转换的方法需要定义在一个object中。示例二:对自己定义的类使用隐式转换,普通人成为大佬结果:结果:它是指在函数或者方法中,定义一个用imp原创 2022-06-07 09:48:33 · 618 阅读 · 8 评论 -
重学scala:scala函数式编程与高阶函数
谈到编程方式有指令式编程、过程化编程、函数式编程,函数式编程在使用时主要的思想就是把运算过程写成一些列嵌套的函数调用。把一组数据通过函数实现运算转化成另一组数据。函数式编程这种方式在我们将来开发Spark、Flink的业务代码时会大量使用。下面列出了一些我们经常使用的进行函数式编程的Iterable trait(可迭代特质)方法。接口描述foreachAPI说明参数f: (A) ⇒ Unit接收一个函数对象,函数的输入参数为集合的元素,返回值为空返回值Unit空方原创 2022-06-05 19:39:18 · 1096 阅读 · 14 评论 -
重学scala:scala中的数据结构
注意:下面的例子均在scala shell中演示的一、数据结构介绍对于Scala来说,同时支持可变集合和不可变集合,不可变集合一直都不会发生变化,可以安全的并发访问。Scala优先采用不可变集合,同时几乎所有的集合类,Scala都同时提供了可变和不可变的版本。下面是两个主要的包:不可变集合:scala.collection.immutable、可变集合: scala.collection.mutable。不可变集合继承层次:可变集合继承层次:二、实操1、数组可以用数组来存放一组数据。s原创 2022-05-29 16:23:13 · 1091 阅读 · 0 评论 -
重学scala:scala中的变量、方法、函数
文章目录简介1、 scala中声明变量2、惰性变量3、基本数据类型4、scala类型层次结构5、scala中的条件表达式6、scala方法的重载7、scala中的块表达式8、循环1、for循环2、while循环9、方法和函数1、方法2、函数3、方法和函数的区别4、方法转换为函数提示:代码实例重点在于讲解知识点上,代码相对简单,所以都是使用scala shell来直接操作的简介Scala是一门多范式的编程语言,一种类似java的编程语言,是可扩展语言,并集成面向对象编程和函数式编程的各种特性的混合功能编原创 2022-05-27 09:49:20 · 1531 阅读 · 11 评论 -
重学scala:scala面向对象编程之trait特质
简介特质就像是java的implement,是scala中代码复用的基础单元,它可以将方法和字段定义封装起来,然后添加到类中与类继承不一样的是,类继承要求每个类都只能继承一个超类,而一个类可以添加任意数量的特质。特质的定义和抽象类的定义很像,但它是使用trait关键字1、作为接口使用使用extends来继承trait(scala不论是类还是特质,都是使用extends关键字)如果要继承多个trait,则使用with关键字trait B {...}trait C {...}class Dclas原创 2022-05-19 11:54:39 · 872 阅读 · 4 评论 -
重学scala:scala面向对象编程之继承
三、scala面向对象编程之继承1、继承extendsscala使用extends关键字来实现继承。可以在子类中定义父类中没有的字段和方法,或者重写父类的方法。示例1:实现简单继承class Person1 { var name = "super" def getName: String = this.name}class Student1 extends Person1object Main1 { def main(args: Array[String]): Unit =原创 2022-05-18 15:13:32 · 1619 阅读 · 7 评论 -
重学scala:scala面向对象编程之类与对象
文章目录一、类1、类的定义2、类的构造器二、对象1、scala中的object2、scala中的伴生对象3、scala中object的apply方法4、scala中object的main方法一、类1、类的定义scala是支持面向对象的,也有类和对象的概念。示例:定义一个User类,并添加成员变量/成员方法,创建一个Main object,添加一个main方法,并创建Customer类的对象,并给对象赋值,打印对象中的成员,调用成员方法class User { var name:String =原创 2022-05-11 18:18:21 · 1110 阅读 · 20 评论 -
IDEA中maven项目的language level 修改后自动重置问题
问题:我的JDK使用的是1.8,但是在IDEA中编写1.8特性的代码时却会爆红,而且编译也通不过,确定不是代码的问题后。转而发现了Language Level这个东西,IDEA中默认Language Level 5(即对应JDK1.5),打开Module Settings将Language level修改为8(即对应JDK1.8),但是重新刷新maven依赖时,又会变成Language Level 5。language level 简介:language level 这个功能应该算是 IntelliJ原创 2020-09-16 15:52:41 · 5321 阅读 · 2 评论