scala Partial Funciton(偏函数)、Exception(异常)、Lazy使用示例

Partial Function

package com.sparktest

/**
  * 
  */
object PartialFunctionTest {
  def main(args: Array[String]): Unit = {
    val sample = 1 to 10
    val isEven:PartialFunction[Int,Unit] = {
      case x if x % 2 == 0 => println(x + " is even!")
    }
    val isOdd:PartialFunction[Int,Unit] = {
      case x if x % 2 == 1 => println(x + " is odd!")
    }


//    val evenNumbers = sample collect isEven
//    等价于
    val evenNumbers = sample.collect(isEven)
//    evenNumbers.foreach(println)

    val numbers = sample.map(isEven orElse isOdd)
//    numbers.foreach(println)
  }
}

Exception

package com.sparktest

import java.io.IOException

/**
  * 
  */
object ExceptionAndLazyTest {
  def main(args: Array[String]): Unit = {
    try {
      1 / 0
    } catch {
      case ioException: IOException => println("IOException: " + ioException.toString())
      case illegalArgs: IllegalArgumentException => println("IllegalArgumentException: " + illegalArgs.toString())
      case arithmeticException:ArithmeticException => println("ArithmeticException" + arithmeticException.toString())
    }
  }
}


Lazy

package com.sparktest

import java.io.IOException

/**
  *
  */
object ExceptionAndLazyTest {
  def main(args: Array[String]): Unit = {

    lazy val score = 100
    println("......" + score)
    println("......")
  }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值