You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Scala将数组值分别赋值给独立的Int变量

Scala 将split返回数组元素分别赋值给独立变量的实现方式

你原有写法的问题在于:var a,b,c = date.split("/") 会把split返回的整个Array[String]对象同时赋值给a、b、c三个变量,三个变量最终都是数组类型,无法分别拿到拆分后的日、月、年字符串。

推荐实现:利用Scala原生解构语法

Scala 原生支持数组的模式匹配解构,直接按下面写就能达到预期效果:

var date = "12/01/2021"
val Array(a, b, c) = date.split("/")
print(a, b, c)
// 输出结果:(12,01,2021)
  • 这个写法依赖Array伴生对象自带的提取器,会自动按数组下标顺序,把对应位置的元素绑定到括号里的a、b、c三个变量上
  • 如果你需要a/b/c是可变变量,把定义前的val换成var即可
  • 注意:如果split返回的数组长度不等于3,运行时会抛出MatchError,如果日期格式可能不合法,建议加安全匹配逻辑:
date.split("/") match {
  case Array(a, b, c) => print(a, b, c)
  case _ => print("日期格式不符合预期,需为dd/MM/yyyy格式")
}

兼容写法:手动按下标取值

如果不想用解构语法,也可以拆分后手动按下标取对应位置的元素,逻辑更直白:

var date = "12/01/2021"
val parts = date.split("/")
val a = parts(0)
val b = parts(1)
val c = parts(2)
print(a, b, c)

内容的提问来源于stack exchange,提问作者Rahul P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.12 16:15:51