scala 包对象 package object
所属分类 scala
浏览量 702
Scala2.8 包对象 package object
包(package)也是一种对象,可以定义有属性和方法 ,也可以在包对象内声明某个类型的别名
在包对象内定义别名 兼容旧的类库
idea 定义包对象
选择包 / 右键 / new / package object
java.lang scala 包 和 伴随对象Predef里的所有 数据类型,属性和方法 自动导入到每个Scala文件中
List 不可变
scala 2.8中 放到 scala.collection.immutable包中
为了兼容2.7 版本
定义包对象 scala
package object scala {
// Type and value aliases for collection classes
type TraversableOnce[+A] = scala.collection.TraversableOnce[A]
type Traversable[+A] = scala.collection.Traversable[A]
val Traversable = scala.collection.Traversable
type Iterable[+A] = scala.collection.Iterable[A]
val Iterable = scala.collection.Iterable
type Seq[+A] = scala.collection.Seq[A]
val Seq = scala.collection.Seq
type IndexedSeq[+A] = scala.collection.IndexedSeq[A]
val IndexedSeq = scala.collection.IndexedSeq
type Iterator[+A] = scala.collection.Iterator[A]
val Iterator = scala.collection.Iterator
type BufferedIterator[+A] = scala.collection.BufferedIterator[A]
type List[+A] = scala.collection.immutable.List[A]
val List = scala.collection.immutable.List
val Nil = scala.collection.immutable.Nil
Java 访问 scala 包对象
package object demo {
val value = 9
}
package demo;
import java.time.LocalDateTime;
public class JavaAccessPackageObjectDemo {
public static void main(String[] args) throws Exception {
System.out.println(JavaAccessPackageObjectDemo.class);
System.out.println(LocalDateTime.now());
// System.out.println(demo$.MODULE$.value());
int value = package$.MODULE$.value();
System.out.println("value="+value);
}
}
int value = package$.MODULE$.value();
这一行提示有错 ,但是可以正常编译运行
上一篇
下一篇
scala 元组
Scala中的 -> <- => {} ()
play框架调试关键代码
play Configuration 配置读取
play action 要点
play HTTP routing