2차원 배열 혹은, 특정한 값으로 차있는 배열을 만들고자 하면 다음과 같이 사용.
결국에는 아래 두개의 문장은 같은 결과를 내보인다.
val sth1 = Array.fill(2,3)(false)
결과 ) Array[Array[Boolean]] = Array(Array(false,false,false),Array(false,false,false))
val sth2 = Array.ofDim[Boolean](3,3)
결과 ) Array[Array[Boolean]] = Array(Array(false, false, false), Array(false, false, false), Array(false, false, false))
캐스팅하기, 특정 타입인지 검사하기
Java에서는 캐스팅할 때 C와 같은 문법을 쓰는데 Scala는 아래처럼 한다.
// 특정 객체를 String 타입으로 캐스팅
val str = someObj.asInstanceOf[String];
캐스팅 문법은 Scala가 더 좋다.
객체가 특정 타입인지 검사할 때 Java는 instanceof연산자를 쓴다.
if( someObj instanceof Integer ) {
Integer i = (Integer)someObj ;
System.out.println(i*i) ;
}
else {
// Integer가 아닌 경우 처리
}
Scala에는 instanceof에 해당하는게 없고 패턴매칭을 쓴다.
someObj match {
case i:Int => println (i*i)
case _ => // Int가 아닌 경우 처리
}
이것 역시 Scala가 더 낫다.
https://lispholic.tistory.com/37
7.15. 타입 체크(type check (runtime))
x.isInstanceOf[String]
실행 중 타입 체크를 하는 방법입니다.
7.16. 타입 캐스팅(type cast (runtime))
x.asInstanceOf[String]
실행 중 타입을 캐스팅하는 방법입니다.
타입캐스팅이라는 용어의 의미 == 형변환(타입 바꾸기)