본문 바로가기

카테고리 없음

Scala 다차원 배열 및 초기화

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]

실행 중 타입을 캐스팅하는 방법입니다.

 

 

 

 

타입캐스팅이라는 용어의 의미 == 형변환(타입 바꾸기)