⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boxedobjectarray.scala

📁 JAVA 语言的函数式编程扩展
💻 SCALA
字号:
/*                     __                                               *\**     ________ ___   / /  ___     Scala API                            ****    / __/ __// _ | / /  / _ |    (c) 2002-2008, LAMP/EPFL             ****  __\ \/ /__/ __ |/ /__/ __ |    http://scala-lang.org/               **** /____/\___/_/ |_/____/_/ | |                                         ****                          |/                                          **\*                                                                      */// $Id: BoxedObjectArray.scala 13623 2007-12-21 16:52:44Z michelou $package scala.runtimeimport Predef._import compat.Platform.createArray@serializablefinal class BoxedObjectArray(val value: Array[AnyRef]) extends BoxedArray {  def length: Int = value.length  def apply(index: Int): Any = value(index)  def update(index: Int, elem: Any) {     value(index) = elem.asInstanceOf[AnyRef]   }  def unbox(elemTag: String): AnyRef = value  def unbox(elemClass: Class[_]): AnyRef = value  override def equals(other: Any): Boolean =    value == other ||    other.isInstanceOf[BoxedObjectArray] && value == other.asInstanceOf[BoxedObjectArray].value  override def hashCode(): Int = value.hashCode()  private def create(length: Int): Array[AnyRef] = {    //createArray(value.getClass().getComponentType(), length).asInstanceOf[Array[AnyRef]]    new Array[AnyRef](length)  }  override def subArray(start: Int, end: Int): Array[AnyRef] = {    val result = create(end - start)    Array.copy(value, start, result, 0, end - start)    result  }      final override def filter(p: Any => Boolean): BoxedArray = {    val include = new Array[Boolean](value.length)    var len = 0    var i = 0    while (i < value.length) {      if (p(value(i))) { include(i) = true; len += 1 }      i += 1    }    val result = create(len)    len = 0    i = 0    while (len < result.length) {      if (include(i)) { result(len) = value(i); len += 1 }      i += 1    }    new BoxedObjectArray(result)  }  override protected def newArray(length: Int, elements: Iterator[Any]) = {    val result = create(length)    elements.map(_.asInstanceOf[AnyRef]).copyToArray(result, 0)    new BoxedObjectArray(result)  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -