2014-02-28 6 views
2

스칼라에서 Doublelylinked 목록을 만들 때 센티넬 노드를 만드는 데 문제가 있습니다. 내 센티넬 노드의 데이터에는 사용중인 유형의 기본값이 필요합니다 (예 : Int에는 0, String에는 null이 필요합니다). A를 사용하면이 값을 얻지 못한다. Scala Manifest는 그다지 가치가 없다. Eclipse에서이 상황에서 Any in Scala의 기본값을 얻는 방법에 대한 아이디어가 있습니까?스칼라 기본값 : LinkedList를 만드는 동안 스칼라에서 Any 유형의 기본값을 얻으려면 어떻게해야합니까?

작동
class DoubleLinkList[A : Manifest] extends List[A] { 
private class Node (var data: A, var previous:Node, var next:Node) 
private var end:Node new Node(A, null, null) //I need the default value of the type I am  using for A in this situation. 
end.prev = end 
end.next = end 
} 

답변

0

(적어도 콘솔에서 스칼라 2.10.3) :

scala> def defval[A:Manifest]() = null.asInstanceOf[A] 
defval: [A]()(implicit evidence$1: Manifest[A])A 

scala> defval[Boolean] 
res26: Boolean = false