bitcarmanlee的博客

米厂的小码农,专注数据与算法,qq群:397173819

scala中的作用域保护

Scala中,访问修饰符可以通过使用限定词强调。格式为: private[x] 或 protected[x] 这里的x指代某个所属的包、类或单例对象。如果写成private[x],读作”这个成员除了对[…]中的类或[…]中的包中的类及它们的伴生对像可见外,对其它所有类都是pri...

2018-03-19 09:44:20

阅读数:99

评论数:0

scala实现数值类型加法

在前面的文章里,我们讲了在java中如何利用泛型实现数值类型加法。具体可以参考博文http://blog.csdn.net/bitcarmanlee/article/details/78733637。 那么在scala中,我们怎么实现上面的需求呢?1.用 <: 模拟extends关键字行不...

2017-12-06 19:04:22

阅读数:260

评论数:0

java.lang.Exception: Test class should have exactly one public constructor

在scala中写了一些测试代码,用来做项目中的单元测试。比如这种简单的测试代码:import org.junit.Testobject CollectionTest { @Test def listHead(): Unit = { val list = List(0,...

2017-10-20 11:25:24

阅读数:1055

评论数:0

missing arguments for method toArray in trait Collection

spark 任务中有如下一段代码: .combineByKey((v: String) => { val map = new util.TreeMap[String, String]() val (time...

2017-09-19 17:00:20

阅读数:376

评论数:0

scala for循环

1.与yield配合生成一个新的序列for循环与yield配合,可以生成一个新的序列。看个简单的例子:val res = for(i <- 1 to 8 if i%2 == 0) yield i println(res)最后的输出结果为:Vector(2, 4, 6, 8)2.生成一个递减的...

2017-09-19 16:29:14

阅读数:335

评论数:0

函数成了一等公民

函数式编程是这几年很受欢迎的一个话题,即使你是一个刚刚踏入职场的新人,如果在面试时能有意无意地透露出你懂那么一点点函数式编程,也会让你的面试官眼前一亮。然而函数式编程并不是一个新的概念,它的源头可以追溯到计算机尚未发明之前。本文将带领大家回顾一下函数式编程的历史,并使用 Scala 语言为大家讲解...

2017-09-19 09:54:18

阅读数:388

评论数:0

scala中的柯里化函数

1.什么是柯里化函数在scala相关的教程与参考文档里,经常会看到柯里化函数这个词。但是对于具体什么是柯里化函数,柯里化函数又有什么作用,其实可能很多同学都会有些疑惑。今天就跟大家来掰扯掰扯柯里化函数(Curry)。首先看两个简单的函数: def add(x: Int, y: Int) = ...

2017-09-15 18:36:31

阅读数:487

评论数:0

scala中实现break与continue功能

在别的编码语言中,break与continue两种控制语句是非常常见的用法,一般也有对应的关键字。但是在scala中,没有专门的break与continue关键字。那怎么在循环中实现break与continue功能呢?1.实现break功能package com.xiaomi.leilei.tes...

2017-08-11 22:03:42

阅读数:727

评论数:0

scala中的apply方法与unapply方法

1.apply方法当scala中类或者对象有一个主要用途的时候,apply方法就是一个很好地语法糖。请看下面一个简单的例子:class Foo(foo: String) { }object Foo { def apply(foo: String) : Foo = { new...

2017-08-05 22:17:29

阅读数:2615

评论数:0

scala中sorted,sortWith,sortBy用法详解

scala的集合中提供了三种排序的方式:sorted,sortWith,sortBy。那么这三种方式有什么不同呢?下面我们结合源码来分析一下1.sorted先来看看scala中sorted的源码。 def sorted[B >: A](implicit ord: Ordering[B]):...

2017-07-23 23:07:51

阅读数:3632

评论数:0

Scala 用Option[T] 避免NullPointerException

1.java里的Null Pointer Exception写过一阵子的Java后, 应该会对NullPointerException (NPE)这种东西很熟悉,基本上会碰到这种异常,就是你有一个变量是 null,但你却调用了它的方法,或是取某个的值。 举例而言,下面的 Java 代码就会抛出N...

2017-07-23 13:31:48

阅读数:517

评论数:0

作为Scala语法糖的设计模式

Scala算是一门博采众家之长的语言,兼具OO与FP的特性,若使用恰当,可以更好地将OO与FP的各自优势发挥到极致;然而问题也随之而来,倘若过分地夸大OO特性,Scala就变成了一门精简版的Java,写出的是没有Scala Style的拙劣代码;倘若过分追求FP的不变性等特性,因为Scala在类型...

2017-07-16 22:26:58

阅读数:715

评论数:0

scala 数组详解

1.初始化数组想要初始化数组,可以跟java里面一样,使用new关键字,指定数据类型与数组长度。 def test() = { val arr = new Array[Int](3) arr.foreach(x => print(x + ",&...

2017-06-17 11:35:39

阅读数:879

评论数:0

模式匹配的匿名函数

注:本文的例子来自http://danielwestheide.com/blog/2012/12/12/the-neophytes-guide-to-scala-part-4-pattern-matching-anonymous-functions.html,根据自己的理解改动了部分代码并记录下来...

2017-06-15 15:50:08

阅读数:518

评论数:0

scala集合类详解

对scala中的集合类虽然有使用,但是一直处于一知半解的状态。尤其是与java中各种集合类的混合使用,虽然用过很多次,但是一直也没有做比较深入的了解与分析。正好趁着最近项目的需要,加上稍微有点时间,特意多花了一点时间对scala中的集合类做个详细的总结。1.数组Array在说集合类之前,先看看sc...

2017-05-28 21:59:14

阅读数:2958

评论数:0

scala字符串变量替换

在scala中,字符串可以带s,f,raw前缀。这几个前缀都可以用来进行变量替换。下面来简单分析实验一下。1.s前缀s前缀的作用就是用来表示变量替换。 def test() = { val word = "hello" println(s&...

2017-05-23 20:34:46

阅读数:842

评论数:0

scala 正则表达式

正则表达式是所有攻城狮尤其是算法,数据相关攻城狮必备的技能。日常工作中免不了处理各种字符串与字符串操作,写好正则表达式能大幅度提高工作效率,提升工作愉悦度。现在就简单总结一下scala中常见的正则表达式用法。如果有对正则表达式不熟悉的同志们,可以查看正则表达式30分钟入门教程。1.匹配电话号码匹配...

2017-05-23 11:32:16

阅读数:1171

评论数:0

scala implicit隐式转化与隐式参数

scala的各种源码里,有大量的implicit关键字。老见到他晃来晃去又不知道为什么,本博主憋得慌,于是有了这篇小文章。1.最常见的隐式转换函数我们定义了一个方法test,接受的参数类型是String。当我们输出的参数为”101”的时候,显然是OK的。但是当输入的参数为101这个int时,显然就...

2016-12-05 22:40:26

阅读数:548

评论数:0

scala中一些常见用法

1.花括号与小括号的区别以下代码的用法,非常常见:val raw = List(("a",1),("b",2),("c",3)) val res = raw.map{ case (key,value) => value }.redu...

2016-11-30 20:06:36

阅读数:2715

评论数:0

Output path is shared between the same module error

在 IntelliJ IDEA中想编译运行某个scala文件的时候,IDE报了以下的错误:Error scalac: Output path .../eval/target/test-classes is shared between: Module 'eval' tests, Module 'e...

2016-11-25 10:09:06

阅读数:1289

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭