Scala apply、update 方法

Apply 方法

定义在 object 中名为 apply 的一系列方法在调用时,可以直接使用 对象名(参数) 的形式完成调用。

在伴生对象中定义 apply 方法,可实现不使用 new 关键字创建对象。

使用 new 关键字创建对象时,调用的其实是类的构造方法,当直接使用类名创建对象时,调用的其实是伴生对象的 apply 方法。

案例:

object DateUtils {

    def apply(time: Long) ={
        val format = new SimpleDateFormat("yyyy-MM-dd")
        format.format(new Date(time))
    }

    def FormatDate(time: Long) ={
        val format = new SimpleDateFormat("yyyy-MM-dd")
        format.format(new Date(time))
    }
}

object Time{

    def main(args: Array[String]): Unit = {
        val time1: String = DateUtils.FormatDate(0)
        println(time1)	// 输出: 1970-01-01

        val time2 = DateUtils.apply(0)
        println(time2)	// 输出: 1970-01-01

        val time3 = DateUtils(0)
        println(time3)	// 输出: 1970-01-01
    }
}

Update

Scala 中不可变数组被定义为 Array 对象,更新数组中的元素时,可以使用 update 方法。

案例:

object Update_Train {
    def main(args: Array[String]): Unit = {
        val arr = Array(1, 2, 3, 4, 5)
        arr.update(0, 6)
        println(util.Arrays.toString(arr))	// 输出: [6, 2, 3, 4, 5]

        arr(1) = 7
        println(util.Arrays.toString(arr))	// 输出: [6, 7, 3, 4, 5]
    }
}

🌈数组对象(索引)=值 等价于 数组对象.update(索引,值)

 


❤️ END ❤️
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JOEL-T99

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值